)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"87124ff86bcf276a9da50e63eb7a0045d15c79b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"87f76ce0_4f26e13d","updated":"2022-11-29 23:54:23.000000000","message":"This fails mypy checks","commit_id":"6eedb9d54b71ee0bfdda56e44c3f95571185c7ba"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"d5e61b638948d5fe071097c2760f4b5655c9406f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8a70590f_a658fe07","updated":"2024-04-05 07:09:34.000000000","message":"Pete, with the recent discussions around modernizing the Python stack an adding Types in particular ([1]), would you revive and update this one again?\n\nSince we are quite heavy cinder-backup users, any improvements to the speed and stability of it and the drivers is appreciated.\n\n\n\n[1] https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/4V63CHMZ4GPC4IYN7JCJPVKHLZAHN5BL/","commit_id":"7c163adce6b572350f871ba08ff508f9195d7b6f"}],"cinder/backup/drivers/ceph.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f985070c21ad67f98a0af1d45231913a09bc13d5","unresolved":true,"context_lines":[{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    @staticmethod"},{"line_number":854,"context_line":"    def _file_is_rbd(volume_file: IO) -\u003e \\"},{"line_number":855,"context_line":"                                     TypeGuard[linuxrbd.RBDVolumeIOWrapper]:"},{"line_number":856,"context_line":"        \"\"\"Returns True if the volume_file is actually an RBD image.\"\"\""},{"line_number":857,"context_line":"        return hasattr(volume_file, \u0027rbd_image\u0027)"},{"line_number":858,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"d7f0e485_37045141","line":855,"range":{"start_line":855,"start_character":37,"end_line":855,"end_character":46},"updated":"2022-12-02 15:59:27.000000000","message":"TypeGuard doesn\u0027t exist in py3.8","commit_id":"7c163adce6b572350f871ba08ff508f9195d7b6f"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"acee04197d7f41dedda5ca5b7891ade81701c7c9","unresolved":false,"context_lines":[{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    @staticmethod"},{"line_number":854,"context_line":"    def _file_is_rbd(volume_file: IO) -\u003e \\"},{"line_number":855,"context_line":"                                     TypeGuard[linuxrbd.RBDVolumeIOWrapper]:"},{"line_number":856,"context_line":"        \"\"\"Returns True if the volume_file is actually an RBD image.\"\"\""},{"line_number":857,"context_line":"        return hasattr(volume_file, \u0027rbd_image\u0027)"},{"line_number":858,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7e000ffc_9108c6df","line":855,"range":{"start_line":855,"start_character":37,"end_line":855,"end_character":46},"in_reply_to":"d7f0e485_37045141","updated":"2024-07-26 19:36:44.000000000","message":"Acknowledged","commit_id":"7c163adce6b572350f871ba08ff508f9195d7b6f"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"583610a40dc2fb32b6975ee5103113779f6b4deb","unresolved":true,"context_lines":[{"line_number":854,"context_line":"    def _file_is_rbd(volume_file: IO) -\u003e \\"},{"line_number":855,"context_line":"                                     TypeGuard[linuxrbd.RBDVolumeIOWrapper]:"},{"line_number":856,"context_line":"        \"\"\"Returns True if the volume_file is actually an RBD image.\"\"\""},{"line_number":857,"context_line":"        return hasattr(volume_file, \u0027rbd_image\u0027)"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    def _full_backup(self, backup: \u0027objects.Backup\u0027,"},{"line_number":860,"context_line":"                     src_volume: IO,"}],"source_content_type":"text/x-python","patch_set":2,"id":"66f45ce0_1e3a5f3b","line":857,"updated":"2024-04-09 16:17:36.000000000","message":"It looks like bool is the correct return value here?","commit_id":"7c163adce6b572350f871ba08ff508f9195d7b6f"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"acee04197d7f41dedda5ca5b7891ade81701c7c9","unresolved":false,"context_lines":[{"line_number":854,"context_line":"    def _file_is_rbd(volume_file: IO) -\u003e \\"},{"line_number":855,"context_line":"                                     TypeGuard[linuxrbd.RBDVolumeIOWrapper]:"},{"line_number":856,"context_line":"        \"\"\"Returns True if the volume_file is actually an RBD image.\"\"\""},{"line_number":857,"context_line":"        return hasattr(volume_file, \u0027rbd_image\u0027)"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    def _full_backup(self, backup: \u0027objects.Backup\u0027,"},{"line_number":860,"context_line":"                     src_volume: IO,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c0fa826c_ad90a2d6","line":857,"in_reply_to":"66f45ce0_1e3a5f3b","updated":"2024-07-26 19:36:44.000000000","message":"Done","commit_id":"7c163adce6b572350f871ba08ff508f9195d7b6f"}]}
