)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"e510de32e0f2ab360aab705cc166e357f564df80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a61885c9_181ba7c9","updated":"2025-09-11 12:53:19.000000000","message":"See my inline comment.","commit_id":"0f88c4fe08f43277e103bf8eadb3830627b1c5a7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2ef557e0969df685f2072b7213bbee775713aba8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d491284e_4d3ea8cf","updated":"2025-09-12 16:50:59.000000000","message":"Gonna get this in since I want the type hints for things I\u0027m working on","commit_id":"c33794470c59d94513d8be2d510af896381af2ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"916973253c655dee7b184f594508e42fb2a8c0ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a58714e6_20f29897","updated":"2025-09-15 10:34:21.000000000","message":"recheck timeout","commit_id":"c33794470c59d94513d8be2d510af896381af2ce"}],"oslo_utils/excutils.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"e510de32e0f2ab360aab705cc166e357f564df80","unresolved":true,"context_lines":[{"line_number":274,"context_line":"                        # The watch has expired or the exception message"},{"line_number":275,"context_line":"                        # changed, so time to log it again..."},{"line_number":276,"context_line":"                        logging.exception("},{"line_number":277,"context_line":"                            f\u0027Unexpected exception occurred \u0027"},{"line_number":278,"context_line":"                            f\u0027{same_failure_count} time(s)... retrying.\u0027"},{"line_number":279,"context_line":"                        )"},{"line_number":280,"context_line":"                        if not watch.has_started():"}],"source_content_type":"text/x-python","patch_set":3,"id":"d4025b43_949087ab","line":277,"range":{"start_line":277,"start_character":28,"end_line":277,"end_character":29},"updated":"2025-09-11 12:53:19.000000000","message":"fstring do not seems required here. That\u0027s surely a remaining transient state before you moved `same_failure_count` to the next line.","commit_id":"0f88c4fe08f43277e103bf8eadb3830627b1c5a7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7bb3635a1fbfc983826e00be8b0de9c42814e90a","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                        # The watch has expired or the exception message"},{"line_number":275,"context_line":"                        # changed, so time to log it again..."},{"line_number":276,"context_line":"                        logging.exception("},{"line_number":277,"context_line":"                            f\u0027Unexpected exception occurred \u0027"},{"line_number":278,"context_line":"                            f\u0027{same_failure_count} time(s)... retrying.\u0027"},{"line_number":279,"context_line":"                        )"},{"line_number":280,"context_line":"                        if not watch.has_started():"}],"source_content_type":"text/x-python","patch_set":3,"id":"bc999335_981dd18f","line":277,"range":{"start_line":277,"start_character":28,"end_line":277,"end_character":29},"in_reply_to":"8eec6b5f_007ffa5e","updated":"2025-09-11 16:59:59.000000000","message":"Done","commit_id":"0f88c4fe08f43277e103bf8eadb3830627b1c5a7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2ea3afbcf1bf8961292acc4308175cf27ce9b48a","unresolved":true,"context_lines":[{"line_number":274,"context_line":"                        # The watch has expired or the exception message"},{"line_number":275,"context_line":"                        # changed, so time to log it again..."},{"line_number":276,"context_line":"                        logging.exception("},{"line_number":277,"context_line":"                            f\u0027Unexpected exception occurred \u0027"},{"line_number":278,"context_line":"                            f\u0027{same_failure_count} time(s)... retrying.\u0027"},{"line_number":279,"context_line":"                        )"},{"line_number":280,"context_line":"                        if not watch.has_started():"}],"source_content_type":"text/x-python","patch_set":3,"id":"8eec6b5f_007ffa5e","line":277,"range":{"start_line":277,"start_character":28,"end_line":277,"end_character":29},"in_reply_to":"d4025b43_949087ab","updated":"2025-09-11 16:59:15.000000000","message":"Its not needed by ruff (and black) allows it because otherwise indentation changes. As a daft example, compare:\n\n```\nfoo(\n    f\u0027test {var}\u0027\n    \u0027wow\u0027\n    f\u0027bar {var_z}`\n    `cool`\n)\n```\n\nversus the nicer (IMO)\n\n```\nfoo(\n    f\u0027test {var}\u0027\n    f\u0027wow\u0027\n    f\u0027bar {var_z}`\n    f`cool`\n)\n```\n\nSo I\u0027d like to leave this as-is","commit_id":"0f88c4fe08f43277e103bf8eadb3830627b1c5a7"}]}
