)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6cc3bb3c2cb39eaa3c283e28c197353aeddb6e2c","unresolved":true,"context_lines":[{"line_number":9,"context_line":"The value for some property in the sensor data is a dictionary"},{"line_number":10,"context_line":"e.g.: \u0027state\u0027:{\u0027_value_\u0027: \u0027Enabled\u0027,"},{"line_number":11,"context_line":"               \u0027_name_\u0027: \u0027ENABLED\u0027,"},{"line_number":12,"context_line":"               \u0027__objclass__\u0027: \"\u003cenum \u0027State\u0027\u003e\"}"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Which doesn\u0027t add useful information, this commit attempts to"},{"line_number":15,"context_line":"prioritize sending only the `_value_` when possible."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"219c4c91_9034c922","line":12,"updated":"2025-06-27 14:24:08.000000000","message":"Do we know why this happens? It looks like something from a Python enum that is then handled by.. oslo.messaging maybe?\n\nIf it\u0027s an enum, you need to get its value, not `_value_`","commit_id":"cd4cbc0a360efe8fa91c28ea5ae02240cb76150f"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"acb061c6c98dfe591b92b426e505b7bfc29793fc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The value for some property in the sensor data is a dictionary"},{"line_number":10,"context_line":"e.g.: \u0027state\u0027:{\u0027_value_\u0027: \u0027Enabled\u0027,"},{"line_number":11,"context_line":"               \u0027_name_\u0027: \u0027ENABLED\u0027,"},{"line_number":12,"context_line":"               \u0027__objclass__\u0027: \"\u003cenum \u0027State\u0027\u003e\"}"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Which doesn\u0027t add useful information, this commit attempts to"},{"line_number":15,"context_line":"prioritize sending only the `_value_` when possible."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"b5edc51d_9a713802","line":12,"in_reply_to":"219c4c91_9034c922","updated":"2025-06-27 19:27:18.000000000","message":"Done","commit_id":"cd4cbc0a360efe8fa91c28ea5ae02240cb76150f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6cc3bb3c2cb39eaa3c283e28c197353aeddb6e2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"22b927fc_48cfd13e","updated":"2025-06-27 14:24:08.000000000","message":"+1 to fixing this, 2 comments inline","commit_id":"cd4cbc0a360efe8fa91c28ea5ae02240cb76150f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f09fcb9d27ac0a84598c0d2c4f99ec6019ce629f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0352aaec_d3cab2a4","updated":"2025-06-27 14:03:55.000000000","message":"Hey Iury, hate to ask this, but can we get a unit test for this? Thanks in advance.","commit_id":"cd4cbc0a360efe8fa91c28ea5ae02240cb76150f"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"83ec95d8a29ca811e74c895c60a2647a08cd9609","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"05858f64_044c954f","updated":"2025-07-03 03:11:28.000000000","message":"recheck metal3 job failed","commit_id":"13df83eef79284b795592078c1aa67b68732c740"}],"ironic/drivers/modules/redfish/management.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6cc3bb3c2cb39eaa3c283e28c197353aeddb6e2c","unresolved":true,"context_lines":[{"line_number":443,"context_line":"    def _sensor2dict(resource, *fields):"},{"line_number":444,"context_line":"        return {field: getattr(resource, field)._value_"},{"line_number":445,"context_line":"                if hasattr(getattr(resource, field), \u0027_value_\u0027)"},{"line_number":446,"context_line":"                else getattr(resource, field)"},{"line_number":447,"context_line":"                for field in fields"},{"line_number":448,"context_line":"                if hasattr(resource, field)}"},{"line_number":449,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"de9ed133_393e7cb6","line":446,"updated":"2025-06-27 14:24:08.000000000","message":"Could you reorganize the code to avoid getattr 3 times?","commit_id":"cd4cbc0a360efe8fa91c28ea5ae02240cb76150f"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"acb061c6c98dfe591b92b426e505b7bfc29793fc","unresolved":false,"context_lines":[{"line_number":443,"context_line":"    def _sensor2dict(resource, *fields):"},{"line_number":444,"context_line":"        return {field: getattr(resource, field)._value_"},{"line_number":445,"context_line":"                if hasattr(getattr(resource, field), \u0027_value_\u0027)"},{"line_number":446,"context_line":"                else getattr(resource, field)"},{"line_number":447,"context_line":"                for field in fields"},{"line_number":448,"context_line":"                if hasattr(resource, field)}"},{"line_number":449,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"d6a86748_25c8813f","line":446,"in_reply_to":"de9ed133_393e7cb6","updated":"2025-06-27 19:27:18.000000000","message":"let me know if the new function works better","commit_id":"cd4cbc0a360efe8fa91c28ea5ae02240cb76150f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"803e089daddd2a26a2f085e8e72fe41ff937735f","unresolved":true,"context_lines":[{"line_number":445,"context_line":"            field: attr.value if hasattr(attr, \u0027value\u0027) else attr"},{"line_number":446,"context_line":"            for field in fields"},{"line_number":447,"context_line":"            if hasattr(resource, field)"},{"line_number":448,"context_line":"            for attr in [getattr(resource, field)]"},{"line_number":449,"context_line":"        }"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"9b835f10_e7a2946f","line":448,"updated":"2025-07-02 15:47:03.000000000","message":"Wow, this took me a minute. Honestly, I\u0027d prefer a normal loop at this point.","commit_id":"13df83eef79284b795592078c1aa67b68732c740"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bcb1792b3af7c6ad110f9d6d1ff0ebdeb98041df","unresolved":true,"context_lines":[{"line_number":445,"context_line":"            field: attr.value if hasattr(attr, \u0027value\u0027) else attr"},{"line_number":446,"context_line":"            for field in fields"},{"line_number":447,"context_line":"            if hasattr(resource, field)"},{"line_number":448,"context_line":"            for attr in [getattr(resource, field)]"},{"line_number":449,"context_line":"        }"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"e125b87f_dba61ce4","line":448,"in_reply_to":"9b835f10_e7a2946f","updated":"2025-07-02 15:50:55.000000000","message":"My kung-fu is stronger than yours though\n\n```\nreturn {\n    field: attr.value if hasattr((attr :\u003d getattr(resource, field)), \u0027value\u0027) else attr\n    for field in fields\n    if hasattr(resource, field)\n}\n```\n\n😄","commit_id":"13df83eef79284b795592078c1aa67b68732c740"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"a3741c41b113d2e8d6d77bf290d61196b4dfdee1","unresolved":false,"context_lines":[{"line_number":445,"context_line":"            field: attr.value if hasattr(attr, \u0027value\u0027) else attr"},{"line_number":446,"context_line":"            for field in fields"},{"line_number":447,"context_line":"            if hasattr(resource, field)"},{"line_number":448,"context_line":"            for attr in [getattr(resource, field)]"},{"line_number":449,"context_line":"        }"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"c790e325_0ca89bcf","line":448,"in_reply_to":"e125b87f_dba61ce4","updated":"2025-07-02 17:27:49.000000000","message":"oh wow, I can push a follow-up if you want o/","commit_id":"13df83eef79284b795592078c1aa67b68732c740"}]}
