)]}'
{"sushy/main.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"142c85b3f2b2c26584c3020cb7bc8e80c7ac0cad","unresolved":true,"context_lines":[{"line_number":501,"context_line":"                    if r.identity not in registries:"},{"line_number":502,"context_line":"                        registries[r.identity] \u003d registry"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"        return registries"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    @property"},{"line_number":507,"context_line":"    def lazy_registries(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"96c0368b_07c24740","line":504,"range":{"start_line":504,"start_character":15,"end_line":504,"end_character":25},"updated":"2021-04-16 08:27:14.000000000","message":"based on how this is used, could consider separating registries by type so that don\u0027t have to check by instance or other properties when needed as in most (all?) cases particular registries will be used. That is, have things like `registries.attribute_registries`, `registries.message_registries`. This though looks like a breaking change.","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"666c55e6f76ab602a894e954471ffad473f00f1c","unresolved":true,"context_lines":[{"line_number":501,"context_line":"                    if r.identity not in registries:"},{"line_number":502,"context_line":"                        registries[r.identity] \u003d registry"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"        return registries"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    @property"},{"line_number":507,"context_line":"    def lazy_registries(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5b7cbeb6_bfacf8a4","line":504,"range":{"start_line":504,"start_character":15,"end_line":504,"end_character":25},"in_reply_to":"96c0368b_07c24740","updated":"2021-04-17 13:17:48.000000000","message":"I\u0027ve thought about this and made some changes although didn\u0027t separate it into specific registries, as it would seem to have far reaching effects. Since the registry can also include standard registries seems like should keep at the same level. I have changed bios.py to remove the instance check on AttributeRegistry as the identity check is sufficient. I\u0027ve also removed the \"message registry\" strings to make it a generic registry.","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1177ce01721168060408e5a7ee5112b652cf313f","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                registry \u003d r.get_message_registry("},{"line_number":495,"context_line":"                    self._language,"},{"line_number":496,"context_line":"                    self._public_connector)"},{"line_number":497,"context_line":"                if not registry:"},{"line_number":498,"context_line":"                    registry \u003d r.get_attribute_registry("},{"line_number":499,"context_line":"                        self._language,"},{"line_number":500,"context_line":"                        self._public_connector)"}],"source_content_type":"text/x-python","patch_set":7,"id":"f4131c5c_b5ac0575","line":497,"updated":"2021-04-20 11:39:39.000000000","message":"Does it mean that the same Redfish API cannot have both message and attribute registries?","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"f1703a66a6a5dbe13660abd45d4f399c496351a2","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                registry \u003d r.get_message_registry("},{"line_number":495,"context_line":"                    self._language,"},{"line_number":496,"context_line":"                    self._public_connector)"},{"line_number":497,"context_line":"                if not registry:"},{"line_number":498,"context_line":"                    registry \u003d r.get_attribute_registry("},{"line_number":499,"context_line":"                        self._language,"},{"line_number":500,"context_line":"                        self._public_connector)"}],"source_content_type":"text/x-python","patch_set":7,"id":"f22a11cd_af09b8d5","line":497,"in_reply_to":"f4131c5c_b5ac0575","updated":"2021-04-20 17:56:04.000000000","message":"A registry collection can and does have both message and attributes registries. However a particular registry can be either message or attribute.","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"}],"sushy/resources/registry/attribute_registry.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"725d8d7ef972ad8a4545641d409c4e4f4d8a5d04","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    owning_entity \u003d base.Field(\u0027OwningEntity\u0027, required\u003dTrue)"},{"line_number":47,"context_line":"    \"\"\"Organization or company that publishes this registry\"\"\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    registry_version \u003d base.Field(\u0027RegistryVersion\u0027, required\u003dTrue)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    supported_systems \u003d base.Field(\u0027SupportedSystems\u0027)"},{"line_number":52,"context_line":"    \"\"\"The system that this registry supports\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1097b33f_33b059b3","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":67},"updated":"2021-04-19 10:12:28.000000000","message":"docstring missing","commit_id":"26f36ca5797504cee7398d89c23ebc4ddbbb8a1a"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"31c7607ae6cb2914f20028b9dc9f6b4500b1f077","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    owning_entity \u003d base.Field(\u0027OwningEntity\u0027, required\u003dTrue)"},{"line_number":47,"context_line":"    \"\"\"Organization or company that publishes this registry\"\"\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    registry_version \u003d base.Field(\u0027RegistryVersion\u0027, required\u003dTrue)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    supported_systems \u003d base.Field(\u0027SupportedSystems\u0027)"},{"line_number":52,"context_line":"    \"\"\"The system that this registry supports\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"00c745f6_34f3969e","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":67},"in_reply_to":"1097b33f_33b059b3","updated":"2021-04-19 19:46:17.000000000","message":"Done","commit_id":"26f36ca5797504cee7398d89c23ebc4ddbbb8a1a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1177ce01721168060408e5a7ee5112b652cf313f","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class AttributeRegistryEntryField(base.CompositeField):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    attributes \u003d base.Field(\u0027Attributes\u0027)"},{"line_number":26,"context_line":"    \"\"\"List of attributes in this registry\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    # Vendors may have aditional items such as Dependencies, Menus, etc."}],"source_content_type":"text/x-python","patch_set":7,"id":"ffbce086_7377c01c","line":25,"updated":"2021-04-20 11:39:39.000000000","message":"It\u0027s not a free-form field, it has a defined structure. Changing it later will be breaking, so we should probably add the structure right way.","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"f1703a66a6a5dbe13660abd45d4f399c496351a2","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class AttributeRegistryEntryField(base.CompositeField):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    attributes \u003d base.Field(\u0027Attributes\u0027)"},{"line_number":26,"context_line":"    \"\"\"List of attributes in this registry\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    # Vendors may have aditional items such as Dependencies, Menus, etc."}],"source_content_type":"text/x-python","patch_set":7,"id":"e436985c_a8b9c35f","line":25,"in_reply_to":"ffbce086_7377c01c","updated":"2021-04-20 17:56:04.000000000","message":"Good point. I updated this to set common attribute fields based on https://redfish.dmtf.org/schemas/v1/AttributeRegistry.v1_3_4.json and on what multiple vendors are reporting. I\u0027ll also update the spec to list these fields.","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"}],"sushy/resources/registry/message_registry.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"142c85b3f2b2c26584c3020cb7bc8e80c7ac0cad","unresolved":true,"context_lines":[{"line_number":86,"context_line":"    \"\"\"List of messages in this registry\"\"\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def parse_message(message_registries, message_field):"},{"line_number":90,"context_line":"    \"\"\"Using message registries parse the message and substitute any parms"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    :param message_registries: dict of Message Registries"}],"source_content_type":"text/x-python","patch_set":4,"id":"0b4957d0_41cef358","line":89,"range":{"start_line":89,"start_character":18,"end_line":89,"end_character":36},"updated":"2021-04-16 08:27:14.000000000","message":"need to update param name to \u0027registries\u0027 and associated docstring as that can include attribute registries now.\n\nAlternatively, could ask that this already contains filtered registries and remove changes in ln102-104, but that would lead to repetitive code every time `parse_message` is called if there is no handy property available (like registries.message_registries :))","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"666c55e6f76ab602a894e954471ffad473f00f1c","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    \"\"\"List of messages in this registry\"\"\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def parse_message(message_registries, message_field):"},{"line_number":90,"context_line":"    \"\"\"Using message registries parse the message and substitute any parms"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    :param message_registries: dict of Message Registries"}],"source_content_type":"text/x-python","patch_set":4,"id":"151c537a_f98ef142","line":89,"range":{"start_line":89,"start_character":18,"end_line":89,"end_character":36},"in_reply_to":"0b4957d0_41cef358","updated":"2021-04-17 13:17:48.000000000","message":"Done","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"142c85b3f2b2c26584c3020cb7bc8e80c7ac0cad","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        if (registry in message_registries"},{"line_number":103,"context_line":"                and hasattr(message_registries[registry], \"messages\")"},{"line_number":104,"context_line":"                and msg_key in message_registries[registry].messages):"},{"line_number":105,"context_line":"            reg_msg \u003d message_registries[registry].messages[msg_key]"},{"line_number":106,"context_line":"    else:"},{"line_number":107,"context_line":"        # Some firmware only reports the MessageKey and no RegistryName."},{"line_number":108,"context_line":"        # Fall back to the MessageRegistryFile with Id of Messages next, and"}],"source_content_type":"text/x-python","patch_set":4,"id":"c4ceaf6d_84077084","line":105,"updated":"2021-04-16 08:27:14.000000000","message":"could update a test case for message parsing where unrelated registries are present to check that test still passes.","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"666c55e6f76ab602a894e954471ffad473f00f1c","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        if (registry in message_registries"},{"line_number":103,"context_line":"                and hasattr(message_registries[registry], \"messages\")"},{"line_number":104,"context_line":"                and msg_key in message_registries[registry].messages):"},{"line_number":105,"context_line":"            reg_msg \u003d message_registries[registry].messages[msg_key]"},{"line_number":106,"context_line":"    else:"},{"line_number":107,"context_line":"        # Some firmware only reports the MessageKey and no RegistryName."},{"line_number":108,"context_line":"        # Fall back to the MessageRegistryFile with Id of Messages next, and"}],"source_content_type":"text/x-python","patch_set":4,"id":"4d0fafd8_da7726ff","line":105,"in_reply_to":"c4ceaf6d_84077084","updated":"2021-04-17 13:17:48.000000000","message":"Done","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1177ce01721168060408e5a7ee5112b652cf313f","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    \"\"\"List of messages in this registry\"\"\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def parse_message(registries, message_field):"},{"line_number":90,"context_line":"    \"\"\"Parse the messages in registries and substitute any parms"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    Check only registries that support messages."}],"source_content_type":"text/x-python","patch_set":7,"id":"274db80f_acfb6545","line":89,"updated":"2021-04-20 11:39:39.000000000","message":"Renaming parameters is a breaking change, doesn\u0027t seem justified here.","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"f1703a66a6a5dbe13660abd45d4f399c496351a2","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    \"\"\"List of messages in this registry\"\"\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def parse_message(registries, message_field):"},{"line_number":90,"context_line":"    \"\"\"Parse the messages in registries and substitute any parms"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    Check only registries that support messages."}],"source_content_type":"text/x-python","patch_set":7,"id":"39cd2cf9_ea0a6804","line":89,"in_reply_to":"274db80f_acfb6545","updated":"2021-04-20 17:56:04.000000000","message":"Done","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1177ce01721168060408e5a7ee5112b652cf313f","unresolved":false,"context_lines":[{"line_number":89,"context_line":"def parse_message(registries, message_field):"},{"line_number":90,"context_line":"    \"\"\"Parse the messages in registries and substitute any parms"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    Check only registries that support messages."},{"line_number":93,"context_line":"    :param registries: dict of Message Registries"},{"line_number":94,"context_line":"    :param message_field: settings.MessageListField to parse"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"bc6164c6_187e10d3","line":92,"updated":"2021-04-20 11:39:39.000000000","message":"Missing newline","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"f1703a66a6a5dbe13660abd45d4f399c496351a2","unresolved":false,"context_lines":[{"line_number":89,"context_line":"def parse_message(registries, message_field):"},{"line_number":90,"context_line":"    \"\"\"Parse the messages in registries and substitute any parms"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    Check only registries that support messages."},{"line_number":93,"context_line":"    :param registries: dict of Message Registries"},{"line_number":94,"context_line":"    :param message_field: settings.MessageListField to parse"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fffd5bdf_a02b9313","line":92,"in_reply_to":"bc6164c6_187e10d3","updated":"2021-04-20 17:56:04.000000000","message":"Done","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"}],"sushy/resources/registry/message_registry_file.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e575265bc24b656672d8712e5849315f6e39d8c","unresolved":true,"context_lines":[{"line_number":76,"context_line":"    location \u003d LocationListField(\u0027Location\u0027, required\u003dTrue)"},{"line_number":77,"context_line":"    \"\"\"List of locations of Registry files for each supported language\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def get_registry(self, language, public_connector):"},{"line_number":80,"context_line":"        \"\"\"Load registry file depending on its source"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        Will try to find `MessageRegistry` or `AttributeRegistry` based on"}],"source_content_type":"text/x-python","patch_set":1,"id":"4325325f_f016b550","line":79,"updated":"2021-04-07 11:27:13.000000000","message":"This is a breaking change, do we really need to do it? Maybe provide a compatibility alias?","commit_id":"ec6882a626e6c98e6b8765124df0cd22b799da29"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"a57b45974a1783488fb22a3f66d4a0af843b49ff","unresolved":true,"context_lines":[{"line_number":76,"context_line":"    location \u003d LocationListField(\u0027Location\u0027, required\u003dTrue)"},{"line_number":77,"context_line":"    \"\"\"List of locations of Registry files for each supported language\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def get_registry(self, language, public_connector):"},{"line_number":80,"context_line":"        \"\"\"Load registry file depending on its source"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        Will try to find `MessageRegistry` or `AttributeRegistry` based on"}],"source_content_type":"text/x-python","patch_set":1,"id":"8113891c_ee576622","line":79,"in_reply_to":"332dcbaf_459431d5","updated":"2021-04-15 00:28:47.000000000","message":"Thanks for the review! I\u0027ve changed this to reinstate the public API and also added a function to get the attribute registry.","commit_id":"ec6882a626e6c98e6b8765124df0cd22b799da29"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"6cdc59312837345b81cb13001e5803bdf89e5780","unresolved":true,"context_lines":[{"line_number":76,"context_line":"    location \u003d LocationListField(\u0027Location\u0027, required\u003dTrue)"},{"line_number":77,"context_line":"    \"\"\"List of locations of Registry files for each supported language\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def get_registry(self, language, public_connector):"},{"line_number":80,"context_line":"        \"\"\"Load registry file depending on its source"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        Will try to find `MessageRegistry` or `AttributeRegistry` based on"}],"source_content_type":"text/x-python","patch_set":1,"id":"332dcbaf_459431d5","line":79,"in_reply_to":"4325325f_f016b550","updated":"2021-04-14 12:46:05.000000000","message":"+1, in relation to my other comment, maybe need to rethink how these registries are organized (and try to keep existing public API if possible), and have distinction between message, attribute and other future registries.","commit_id":"ec6882a626e6c98e6b8765124df0cd22b799da29"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"142c85b3f2b2c26584c3020cb7bc8e80c7ac0cad","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                except Exception as exc:"},{"line_number":187,"context_line":"                    LOG.warning("},{"line_number":188,"context_line":"                        \u0027Cannot load attribute registry from location \u0027"},{"line_number":189,"context_line":"                        \u0027%(location)s: %(error)s\u0027, {"},{"line_number":190,"context_line":"                            \u0027location\u0027: kwargs[\u0027path\u0027],"},{"line_number":191,"context_line":"                            \u0027error\u0027: exc})"},{"line_number":192,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a392612_64a63db9","line":189,"updated":"2021-04-16 08:27:14.000000000","message":"instead of passing registry type, could pass module and class name for instance to create and avoid repeating the same code.","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"666c55e6f76ab602a894e954471ffad473f00f1c","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                except Exception as exc:"},{"line_number":187,"context_line":"                    LOG.warning("},{"line_number":188,"context_line":"                        \u0027Cannot load attribute registry from location \u0027"},{"line_number":189,"context_line":"                        \u0027%(location)s: %(error)s\u0027, {"},{"line_number":190,"context_line":"                            \u0027location\u0027: kwargs[\u0027path\u0027],"},{"line_number":191,"context_line":"                            \u0027error\u0027: exc})"},{"line_number":192,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":4,"id":"ea74d07e_84b1a97f","line":189,"in_reply_to":"7a392612_64a63db9","updated":"2021-04-17 13:17:48.000000000","message":"Good point. Added and removed duplicate logs.","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"725d8d7ef972ad8a4545641d409c4e4f4d8a5d04","unresolved":true,"context_lines":[{"line_number":104,"context_line":"                      registry_class):"},{"line_number":105,"context_line":"        \"\"\"Load registry file depending on the registry type"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Will try to find `MessageRegistry` or `AttributeRegistry` based on"},{"line_number":108,"context_line":"        `odata.type` property, location, and provided language. If desired"},{"line_number":109,"context_line":"        language is not found, will pick a registry that has \u0027default\u0027"},{"line_number":110,"context_line":"        language."}],"source_content_type":"text/x-python","patch_set":6,"id":"b5701565_da7ff572","line":107,"range":{"start_line":107,"start_character":26,"end_line":107,"end_character":65},"updated":"2021-04-19 10:12:28.000000000","message":"requested_type","commit_id":"26f36ca5797504cee7398d89c23ebc4ddbbb8a1a"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"31c7607ae6cb2914f20028b9dc9f6b4500b1f077","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                      registry_class):"},{"line_number":105,"context_line":"        \"\"\"Load registry file depending on the registry type"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Will try to find `MessageRegistry` or `AttributeRegistry` based on"},{"line_number":108,"context_line":"        `odata.type` property, location, and provided language. If desired"},{"line_number":109,"context_line":"        language is not found, will pick a registry that has \u0027default\u0027"},{"line_number":110,"context_line":"        language."}],"source_content_type":"text/x-python","patch_set":6,"id":"3d5b2152_db9ea484","line":107,"range":{"start_line":107,"start_character":26,"end_line":107,"end_character":65},"in_reply_to":"b5701565_da7ff572","updated":"2021-04-19 19:46:17.000000000","message":"Done","commit_id":"26f36ca5797504cee7398d89c23ebc4ddbbb8a1a"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"10548b62414c97ef5efc1b3b4f7a1a5555adef96","unresolved":true,"context_lines":[{"line_number":104,"context_line":"                      registry_class):"},{"line_number":105,"context_line":"        \"\"\"Load registry file depending on the registry type"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Will try to find requested_type based on `odata.type` property,i"},{"line_number":108,"context_line":"        location, and provided language. If desired language is not found,"},{"line_number":109,"context_line":"        will pick a registry that has \u0027default\u0027 language."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"626d0249_6654629a","line":107,"range":{"start_line":107,"start_character":70,"end_line":107,"end_character":72},"updated":"2021-04-20 08:06:53.000000000","message":"typo","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"8df0a1cbef139217e33e85ce389d29df9495e97b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                      registry_class):"},{"line_number":105,"context_line":"        \"\"\"Load registry file depending on the registry type"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Will try to find requested_type based on `odata.type` property,i"},{"line_number":108,"context_line":"        location, and provided language. If desired language is not found,"},{"line_number":109,"context_line":"        will pick a registry that has \u0027default\u0027 language."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"77262c74_623fe23b","line":107,"range":{"start_line":107,"start_character":70,"end_line":107,"end_character":72},"in_reply_to":"4053de02_fc357157","updated":"2021-04-21 12:27:20.000000000","message":"Done","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"7f3b1def4d617dd9238110d43788e6394acd8f7e","unresolved":true,"context_lines":[{"line_number":104,"context_line":"                      registry_class):"},{"line_number":105,"context_line":"        \"\"\"Load registry file depending on the registry type"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Will try to find requested_type based on `odata.type` property,i"},{"line_number":108,"context_line":"        location, and provided language. If desired language is not found,"},{"line_number":109,"context_line":"        will pick a registry that has \u0027default\u0027 language."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"4053de02_fc357157","line":107,"range":{"start_line":107,"start_character":70,"end_line":107,"end_character":72},"in_reply_to":"626d0249_6654629a","updated":"2021-04-21 10:58:40.000000000","message":"bump","commit_id":"fd4ceae45fdc4f5227c812557c6681c077c826c4"}],"sushy/resources/system/bios.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"6cdc59312837345b81cb13001e5803bdf89e5780","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        \"\"\""},{"line_number":259,"context_line":"        registries \u003d self._registries"},{"line_number":260,"context_line":"        for key, registry in registries.items():"},{"line_number":261,"context_line":"            if isinstance(registry, attribute_registry.AttributeRegistry):"},{"line_number":262,"context_line":"                # Check that BIOS attribute_registry matches the identity"},{"line_number":263,"context_line":"                # of an attribute registry, and this is the requested language"},{"line_number":264,"context_line":"                if self._attribute_registry \u003d\u003d registry.identity:"}],"source_content_type":"text/x-python","patch_set":1,"id":"6e2500e0_9d624c8a","line":261,"range":{"start_line":261,"start_character":15,"end_line":261,"end_character":74},"updated":"2021-04-14 12:46:05.000000000","message":"if some filtering on _registries is necessary here, does it mean that also when only Message registries are necessary, that filtering needs to be done too to at least avoid iterating unrelated files? E.g., for parsing messages [1]\n\n[1] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/registry/message_registry.py#L89","commit_id":"ec6882a626e6c98e6b8765124df0cd22b799da29"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"a57b45974a1783488fb22a3f66d4a0af843b49ff","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        \"\"\""},{"line_number":259,"context_line":"        registries \u003d self._registries"},{"line_number":260,"context_line":"        for key, registry in registries.items():"},{"line_number":261,"context_line":"            if isinstance(registry, attribute_registry.AttributeRegistry):"},{"line_number":262,"context_line":"                # Check that BIOS attribute_registry matches the identity"},{"line_number":263,"context_line":"                # of an attribute registry, and this is the requested language"},{"line_number":264,"context_line":"                if self._attribute_registry \u003d\u003d registry.identity:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e67a7559_0b0ca85e","line":261,"range":{"start_line":261,"start_character":15,"end_line":261,"end_character":74},"in_reply_to":"6e2500e0_9d624c8a","updated":"2021-04-15 00:28:47.000000000","message":"Good point. For parse_messages though, its also used for the Task class in addition to MessageRegistry. I\u0027ve added a check that the class has the messages attribute, which is necessary.","commit_id":"ec6882a626e6c98e6b8765124df0cd22b799da29"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"142c85b3f2b2c26584c3020cb7bc8e80c7ac0cad","unresolved":true,"context_lines":[{"line_number":249,"context_line":"        \"\"\""},{"line_number":250,"context_line":"        return self._settings._supported_apply_times"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def get_registry(self, language\u003d\u0027en\u0027):"},{"line_number":253,"context_line":"        \"\"\"Get the Attribute Registry associated with this BIOS instance"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        :param language: RFC 5646 language code for Message Registries."}],"source_content_type":"text/x-python","patch_set":4,"id":"aa633d8b_d6fc8def","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":20},"updated":"2021-04-16 08:27:14.000000000","message":"`get_attribute_registry`?","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"666c55e6f76ab602a894e954471ffad473f00f1c","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        \"\"\""},{"line_number":250,"context_line":"        return self._settings._supported_apply_times"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def get_registry(self, language\u003d\u0027en\u0027):"},{"line_number":253,"context_line":"        \"\"\"Get the Attribute Registry associated with this BIOS instance"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        :param language: RFC 5646 language code for Message Registries."}],"source_content_type":"text/x-python","patch_set":4,"id":"54e9db05_0bba1fb1","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":20},"in_reply_to":"aa633d8b_d6fc8def","updated":"2021-04-17 13:17:48.000000000","message":"Done","commit_id":"eb058bae1e6d439354b674581f5588677c3681f7"}],"sushy/tests/unit/resources/system/test_bios.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"725d8d7ef972ad8a4545641d409c4e4f4d8a5d04","unresolved":true,"context_lines":[{"line_number":347,"context_line":"                  \u0027NewPassword\u0027: \u0027newpassword\u0027,"},{"line_number":348,"context_line":"                  \u0027PasswordName\u0027: \u0027adminpassword\u0027})"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def test_get_registry(self):"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        registry \u003d self.sys_bios.get_attribute_registry()"},{"line_number":353,"context_line":"        self.assertEqual(registry.name, \u0027BIOS Attribute Registry\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"88dc9789_8fff16a9","line":350,"range":{"start_line":350,"start_character":8,"end_line":350,"end_character":25},"updated":"2021-04-19 10:12:28.000000000","message":"test_get_attribute_registry\nsimilar below","commit_id":"26f36ca5797504cee7398d89c23ebc4ddbbb8a1a"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"31c7607ae6cb2914f20028b9dc9f6b4500b1f077","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                  \u0027NewPassword\u0027: \u0027newpassword\u0027,"},{"line_number":348,"context_line":"                  \u0027PasswordName\u0027: \u0027adminpassword\u0027})"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def test_get_registry(self):"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        registry \u003d self.sys_bios.get_attribute_registry()"},{"line_number":353,"context_line":"        self.assertEqual(registry.name, \u0027BIOS Attribute Registry\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"a8aeb9dc_fb16122f","line":350,"range":{"start_line":350,"start_character":8,"end_line":350,"end_character":25},"in_reply_to":"88dc9789_8fff16a9","updated":"2021-04-19 19:46:17.000000000","message":"Done","commit_id":"26f36ca5797504cee7398d89c23ebc4ddbbb8a1a"}]}
