)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"9ad8055781a28dc9a2d34ddabc8051a448cdc21d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ac707d56_885f7e81","updated":"2024-10-23 18:27:43.000000000","message":"One minor question","commit_id":"5b71942b2fdfdb5f372ac63a96c4b0f33da61276"}],"octavia/api/drivers/amphora_driver/v2/driver.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"9ad8055781a28dc9a2d34ddabc8051a448cdc21d","unresolved":true,"context_lines":[{"line_number":130,"context_line":"        except network_base.AllocateVIPException as e:"},{"line_number":131,"context_line":"            message \u003d str(e)"},{"line_number":132,"context_line":"            if getattr(e, \u0027orig_msg\u0027, None) is not None:"},{"line_number":133,"context_line":"                message \u003d e.orig_msg    # type: ignore"},{"line_number":134,"context_line":"            raise exceptions.DriverError(user_fault_string\u003dmessage,"},{"line_number":135,"context_line":"                                         operator_fault_string\u003dmessage)"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"a6b78ae9_0ac20773","line":133,"updated":"2024-10-23 18:27:43.000000000","message":"Isn\u0027t this just a string?","commit_id":"5b71942b2fdfdb5f372ac63a96c4b0f33da61276"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"d0e79d982a98fde497ad9dfcc820f12faea9f18b","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        except network_base.AllocateVIPException as e:"},{"line_number":131,"context_line":"            message \u003d str(e)"},{"line_number":132,"context_line":"            if getattr(e, \u0027orig_msg\u0027, None) is not None:"},{"line_number":133,"context_line":"                message \u003d e.orig_msg    # type: ignore"},{"line_number":134,"context_line":"            raise exceptions.DriverError(user_fault_string\u003dmessage,"},{"line_number":135,"context_line":"                                         operator_fault_string\u003dmessage)"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"83874313_2c5a0a1a","line":133,"in_reply_to":"a6b78ae9_0ac20773","updated":"2024-10-28 11:27:30.000000000","message":"Yes, in this case it is guaranteed to be a string. I changed this to use `tp.cast()` and removed the comment.","commit_id":"5b71942b2fdfdb5f372ac63a96c4b0f33da61276"}],"octavia/api/v2/controllers/load_balancer.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"7a0b7beb575a202494fa2e96f23fee99f4c9e751","unresolved":true,"context_lines":[{"line_number":591,"context_line":"                lock_session.rollback()"},{"line_number":592,"context_line":""},{"line_number":593,"context_line":"        with context.session.begin():"},{"line_number":594,"context_line":"            if db_lb:"},{"line_number":595,"context_line":"                db_lb \u003d self._get_db_lb(context.session, db_lb.id)"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"        result \u003d self._convert_db_to_type("}],"source_content_type":"text/x-python","patch_set":6,"id":"a496465a_d24fa551","line":594,"range":{"start_line":594,"start_character":12,"end_line":594,"end_character":20},"updated":"2024-05-06 09:42:57.000000000","message":"Is this change related to the patch? (except for this question, looks good to me)","commit_id":"b708d312f3af69451bd7619a897c3851c5a82a2d"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"d0e79d982a98fde497ad9dfcc820f12faea9f18b","unresolved":false,"context_lines":[{"line_number":591,"context_line":"                lock_session.rollback()"},{"line_number":592,"context_line":""},{"line_number":593,"context_line":"        with context.session.begin():"},{"line_number":594,"context_line":"            if db_lb:"},{"line_number":595,"context_line":"                db_lb \u003d self._get_db_lb(context.session, db_lb.id)"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"        result \u003d self._convert_db_to_type("}],"source_content_type":"text/x-python","patch_set":6,"id":"c9c24232_8483a5c2","line":594,"range":{"start_line":594,"start_character":12,"end_line":594,"end_character":20},"in_reply_to":"1a729bb4_dbf84da6","updated":"2024-10-28 11:27:30.000000000","message":"Done","commit_id":"b708d312f3af69451bd7619a897c3851c5a82a2d"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"3133d2088cfa5341071c75f65e303a7c7e56071c","unresolved":true,"context_lines":[{"line_number":591,"context_line":"                lock_session.rollback()"},{"line_number":592,"context_line":""},{"line_number":593,"context_line":"        with context.session.begin():"},{"line_number":594,"context_line":"            if db_lb:"},{"line_number":595,"context_line":"                db_lb \u003d self._get_db_lb(context.session, db_lb.id)"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"        result \u003d self._convert_db_to_type("}],"source_content_type":"text/x-python","patch_set":6,"id":"1a729bb4_dbf84da6","line":594,"range":{"start_line":594,"start_character":12,"end_line":594,"end_character":20},"in_reply_to":"a496465a_d24fa551","updated":"2024-05-14 16:35:00.000000000","message":"If there is a code modification it\u0027s usually caused by an issue flagged by mypy, so it is related to typing.\n\nmypy thinks that db_lb could be None if the code above before line 507 raises an exception. If that is the case `db_lb.id` would raise an `AttributeError`. In fact that is not the case because that code will not be executed because of the re-raise in the except clause, but type checker don\u0027t know that.\n\nActually, now that I look at it again I see this version can be improved as well. I modified the code accordingly and added a comment explaining why.","commit_id":"b708d312f3af69451bd7619a897c3851c5a82a2d"}]}
