)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e530b1d5564870c2be7b5d94ca513914c92caad9","unresolved":true,"context_lines":[{"line_number":19,"context_line":"and mark is as \"cancellable\". The ``CallbacksManager`` instance will check"},{"line_number":20,"context_line":"the errors returned by the callback methods and if any of them is marked"},{"line_number":21,"context_line":"as \"cancellable\", the manager will raise a ``CallbackFailure`` exception,"},{"line_number":22,"context_line":"finishing the process."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In case of being a Neutron worker, for example, the"},{"line_number":25,"context_line":"``oslo_service.service.Services`` class will restart the process again."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"eb365336_9482b80b","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":9},"updated":"2023-09-21 14:49:48.000000000","message":"maybe `terminating` would be better wording?","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f399e9403802d0a83dc14b19d9dbbd71c83fbf2a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"and mark is as \"cancellable\". The ``CallbacksManager`` instance will check"},{"line_number":20,"context_line":"the errors returned by the callback methods and if any of them is marked"},{"line_number":21,"context_line":"as \"cancellable\", the manager will raise a ``CallbackFailure`` exception,"},{"line_number":22,"context_line":"finishing the process."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In case of being a Neutron worker, for example, the"},{"line_number":25,"context_line":"``oslo_service.service.Services`` class will restart the process again."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a7e72aa_62f66773","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":9},"in_reply_to":"eb365336_9482b80b","updated":"2023-09-22 08:25:35.000000000","message":"Done","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"36d8b229e340a795b5b9d54cbf1a691da08b7bfe","unresolved":true,"context_lines":[{"line_number":16,"context_line":"but the process will continue."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This new functionality adds the possibility of adding any kind of event"},{"line_number":19,"context_line":"and mark is as \"cancellable\". The ``CallbacksManager`` instance will check"},{"line_number":20,"context_line":"the errors returned by the callback methods and if any of them is marked"},{"line_number":21,"context_line":"as \"cancellable\", the manager will raise a ``CallbackFailure`` exception,"},{"line_number":22,"context_line":"terminating the process."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"44cf4d40_2abd3db2","line":19,"range":{"start_line":19,"start_character":9,"end_line":19,"end_character":11},"updated":"2023-11-07 13:57:40.000000000","message":"nit:... mark it as...","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2ae89c68465888e1d62c6866c3e954e25041c719","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4ba82c3f_245a4347","updated":"2023-09-20 17:28:51.000000000","message":"I have not reviewed the code, but will raise the fact that the word \"abort\" is on the do-not-use word choice:\n\nhttps://docs.openstack.org/doc-contrib-guide/writing-style/word-choice.html\n\nSince we\u0027re adding a new argument I would choose \u0027cancelable\u0027 if that works.","commit_id":"f69d303f8d3ceb5c6eae300363857217d43688d6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f8899b7ea114dfe3f1426a3d30c7d5585255413e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0c3ba49f_961d6c28","in_reply_to":"4ba82c3f_245a4347","updated":"2023-09-21 08:05:11.000000000","message":"Done","commit_id":"f69d303f8d3ceb5c6eae300363857217d43688d6"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e530b1d5564870c2be7b5d94ca513914c92caad9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"63fd93bf_a3597b21","updated":"2023-09-21 14:49:48.000000000","message":"Good patch :) Some small suggestions inline, otherwise LGTM","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6d6a1d89e488898ed196218ee0f5b55ac1010cc5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dfefd1ec_b2287b91","updated":"2023-09-21 14:15:33.000000000","message":"recheck tempest-full-py3","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f977bdbba961b60ed875ab37e31fecf0ca25da92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0155a3c2_5023e040","updated":"2023-10-11 09:53:24.000000000","message":"Hi folks, if you have some minutes, please review this patch. Thanks!","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"36d8b229e340a795b5b9d54cbf1a691da08b7bfe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"97f6bfd7_c5aac4b4","updated":"2023-11-07 13:57:40.000000000","message":"I like this approach, let\u0027s wait for others votes","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e3a86aa1aecc66a86932491efcaa6515d107e1c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c772a6f2_f1f679d0","updated":"2023-10-04 15:31:51.000000000","message":"recheck\n\nhttps://review.opendev.org/c/openstack/neutron-tempest-plugin/+/897233 merged","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d448f05ab6d37e68b09325b2ca7b6f847107fd13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b1693bb4_5e3a67a5","updated":"2023-10-05 16:43:52.000000000","message":"recheck \nhttps://review.opendev.org/c/openstack/neutron/+/897412 merged","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"07897fc42cf0d5a12fd5bdb965a253b922e5d23f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5412f78f_a96ae772","updated":"2023-10-06 14:28:02.000000000","message":"recheck issue in CI fixed now","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"14e7afcb7a285bf299daf772bb9100b206ec05b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6f4a20ed_c82328e6","updated":"2023-09-28 15:04:15.000000000","message":"recheck neutron-tempest-plugin-openvswitch","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"413e9672ef85273f1dc95790fde61d9a4230ca71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ca47f2e1_531e21f1","updated":"2023-09-29 13:38:45.000000000","message":"recheck neutron-tempest-plugin-openvswitch","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"43c0842640c7c9b4dc16470ecec09fc560aed3a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"127b819c_7189a9ed","updated":"2023-10-05 08:58:39.000000000","message":"recheck neutron-tempest-plugin-openvswitch-enforce-scope-new-defaults","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e82614b4e4ac02bc0a8885001c02d813a0cd0c8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e749056e_1f641875","updated":"2023-09-28 11:07:59.000000000","message":"recheck tempest-full-py3","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"}],"neutron_lib/callbacks/exceptions.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e530b1d5564870c2be7b5d94ca513914c92caad9","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        return \u0027Callback %s failed with \"%s\"\u0027 % (self.callback_id, self.error)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @property"},{"line_number":62,"context_line":"    def is_cancellable(self):"},{"line_number":63,"context_line":"        return self._cancellable"}],"source_content_type":"text/x-python","patch_set":4,"id":"e89b7084_c00f9adc","line":62,"updated":"2023-09-21 14:49:48.000000000","message":"No action required: Why is this a property? Is it to deny changing the attribute after the Error object was instantiated?","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f399e9403802d0a83dc14b19d9dbbd71c83fbf2a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        return \u0027Callback %s failed with \"%s\"\u0027 % (self.callback_id, self.error)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @property"},{"line_number":62,"context_line":"    def is_cancellable(self):"},{"line_number":63,"context_line":"        return self._cancellable"}],"source_content_type":"text/x-python","patch_set":4,"id":"960045a4_61fe750f","line":62,"in_reply_to":"e89b7084_c00f9adc","updated":"2023-09-22 08:25:35.000000000","message":"Yes, that was the goal. This should be a parameter defined only in the object creation.","commit_id":"815710aa694a810849eec3b90a11ed2126038854"}],"neutron_lib/callbacks/manager.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2593d46776d9fb665e4ea17a098c87e8a06a118b","unresolved":true,"context_lines":[{"line_number":173,"context_line":"    def _notify_loop(self, resource, event, trigger, payload):"},{"line_number":174,"context_line":"        \"\"\"The notification loop.\"\"\""},{"line_number":175,"context_line":"        errors \u003d []"},{"line_number":176,"context_line":"        # callbacks \u003d [tuple(callback ID,"},{"line_number":177,"context_line":"        #                    callback method,"},{"line_number":178,"context_line":"        #                    abortable flag), ..."},{"line_number":179,"context_line":"        #             ]"},{"line_number":180,"context_line":"        callbacks \u003d []"},{"line_number":181,"context_line":"        for priority, pri_callbacks, abortable in ("}],"source_content_type":"text/x-python","patch_set":3,"id":"ebb59a1b_fd8b06b4","line":178,"range":{"start_line":176,"start_character":0,"end_line":178,"end_character":49},"updated":"2023-09-20 20:38:00.000000000","message":"suggestion: With adding more parameters to the tuple, would it make sense to use a `Namedtuple` to have better understanding of the data structure?","commit_id":"f69d303f8d3ceb5c6eae300363857217d43688d6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f8899b7ea114dfe3f1426a3d30c7d5585255413e","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    def _notify_loop(self, resource, event, trigger, payload):"},{"line_number":174,"context_line":"        \"\"\"The notification loop.\"\"\""},{"line_number":175,"context_line":"        errors \u003d []"},{"line_number":176,"context_line":"        # callbacks \u003d [tuple(callback ID,"},{"line_number":177,"context_line":"        #                    callback method,"},{"line_number":178,"context_line":"        #                    abortable flag), ..."},{"line_number":179,"context_line":"        #             ]"},{"line_number":180,"context_line":"        callbacks \u003d []"},{"line_number":181,"context_line":"        for priority, pri_callbacks, abortable in ("}],"source_content_type":"text/x-python","patch_set":3,"id":"5c93fbcf_087d8682","line":178,"range":{"start_line":176,"start_character":0,"end_line":178,"end_character":49},"in_reply_to":"ebb59a1b_fd8b06b4","updated":"2023-09-21 08:05:11.000000000","message":"Much better, it is always preferable to use a Namedtuple","commit_id":"f69d303f8d3ceb5c6eae300363857217d43688d6"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e530b1d5564870c2be7b5d94ca513914c92caad9","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            pri_callbacks \u003d {}"},{"line_number":65,"context_line":"            pri_callbacks_list.append("},{"line_number":66,"context_line":"                PriorityCallbacks(priority, pri_callbacks, cancellable))"},{"line_number":67,"context_line":"            pri_callbacks_list.sort(key\u003dlambda x: x[0])"},{"line_number":68,"context_line":"        pri_callbacks[callback_id] \u003d callback"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        # We keep a copy of callbacks to speed the unsubscribe operation."}],"source_content_type":"text/x-python","patch_set":4,"id":"45c99fa6_403cf10f","line":67,"range":{"start_line":67,"start_character":50,"end_line":67,"end_character":54},"updated":"2023-09-21 14:49:48.000000000","message":"Now we can make it more readable by using the named tuple by sorting by `x.priority`","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f399e9403802d0a83dc14b19d9dbbd71c83fbf2a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            pri_callbacks \u003d {}"},{"line_number":65,"context_line":"            pri_callbacks_list.append("},{"line_number":66,"context_line":"                PriorityCallbacks(priority, pri_callbacks, cancellable))"},{"line_number":67,"context_line":"            pri_callbacks_list.sort(key\u003dlambda x: x[0])"},{"line_number":68,"context_line":"        pri_callbacks[callback_id] \u003d callback"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        # We keep a copy of callbacks to speed the unsubscribe operation."}],"source_content_type":"text/x-python","patch_set":4,"id":"c6464bb8_b0cc310f","line":67,"range":{"start_line":67,"start_character":50,"end_line":67,"end_character":54},"in_reply_to":"45c99fa6_403cf10f","updated":"2023-09-22 08:25:35.000000000","message":"Exactly, that was a missing bit here.","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e530b1d5564870c2be7b5d94ca513914c92caad9","unresolved":true,"context_lines":[{"line_number":166,"context_line":"            if event.startswith(events.PRECOMMIT):"},{"line_number":167,"context_line":"                raise exceptions.CallbackFailure(errors\u003derrors)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"            if any(error.is_cancellable for error in errors):"},{"line_number":170,"context_line":"                raise exceptions.CallbackFailure(errors\u003derrors)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def clear(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"4563858a_6e4c9b8c","line":169,"updated":"2023-09-21 14:49:48.000000000","message":"Seems like this can be an `or` on L166","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f399e9403802d0a83dc14b19d9dbbd71c83fbf2a","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            if event.startswith(events.PRECOMMIT):"},{"line_number":167,"context_line":"                raise exceptions.CallbackFailure(errors\u003derrors)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"            if any(error.is_cancellable for error in errors):"},{"line_number":170,"context_line":"                raise exceptions.CallbackFailure(errors\u003derrors)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def clear(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"8af929e4_a353e045","line":169,"in_reply_to":"4563858a_6e4c9b8c","updated":"2023-09-22 08:25:35.000000000","message":"Right!","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e530b1d5564870c2be7b5d94ca513914c92caad9","unresolved":true,"context_lines":[{"line_number":178,"context_line":"        \"\"\"The notification loop.\"\"\""},{"line_number":179,"context_line":"        errors \u003d []"},{"line_number":180,"context_line":"        callbacks \u003d []"},{"line_number":181,"context_line":"        for pri_callbacks in (self._callbacks[resource].get(event, [])):"},{"line_number":182,"context_line":"            for cb_id, cb_method in pri_callbacks.pri_callbacks.items():"},{"line_number":183,"context_line":"                cb \u003d Callback(cb_id, cb_method, pri_callbacks.cancellable)"},{"line_number":184,"context_line":"                callbacks.append(cb)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfc87c9d_fcdf5727","line":181,"range":{"start_line":181,"start_character":29,"end_line":181,"end_character":30},"updated":"2023-09-21 14:49:48.000000000","message":"The paren is not required here, is it?","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f399e9403802d0a83dc14b19d9dbbd71c83fbf2a","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        \"\"\"The notification loop.\"\"\""},{"line_number":179,"context_line":"        errors \u003d []"},{"line_number":180,"context_line":"        callbacks \u003d []"},{"line_number":181,"context_line":"        for pri_callbacks in (self._callbacks[resource].get(event, [])):"},{"line_number":182,"context_line":"            for cb_id, cb_method in pri_callbacks.pri_callbacks.items():"},{"line_number":183,"context_line":"                cb \u003d Callback(cb_id, cb_method, pri_callbacks.cancellable)"},{"line_number":184,"context_line":"                callbacks.append(cb)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f12fd2db_b6c72d5a","line":181,"range":{"start_line":181,"start_character":29,"end_line":181,"end_character":30},"in_reply_to":"bfc87c9d_fcdf5727","updated":"2023-09-22 08:25:35.000000000","message":"That was a bad copy/paste from the previous code.","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e530b1d5564870c2be7b5d94ca513914c92caad9","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                callbacks.append(cb)"},{"line_number":185,"context_line":"        resource_id \u003d getattr(payload, \"resource_id\", None)"},{"line_number":186,"context_line":"        LOG.debug(\"Publish callbacks %s for %s (%s), %s\","},{"line_number":187,"context_line":"                  [c[0] for c in callbacks], resource, resource_id, event)"},{"line_number":188,"context_line":"        # TODO(armax): consider using a GreenPile"},{"line_number":189,"context_line":"        for callback in callbacks:"},{"line_number":190,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7712ba3a_743c028a","line":187,"range":{"start_line":187,"start_character":19,"end_line":187,"end_character":24},"updated":"2023-09-21 14:49:48.000000000","message":"`c.id`","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f399e9403802d0a83dc14b19d9dbbd71c83fbf2a","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                callbacks.append(cb)"},{"line_number":185,"context_line":"        resource_id \u003d getattr(payload, \"resource_id\", None)"},{"line_number":186,"context_line":"        LOG.debug(\"Publish callbacks %s for %s (%s), %s\","},{"line_number":187,"context_line":"                  [c[0] for c in callbacks], resource, resource_id, event)"},{"line_number":188,"context_line":"        # TODO(armax): consider using a GreenPile"},{"line_number":189,"context_line":"        for callback in callbacks:"},{"line_number":190,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"df49cfd4_b8333daf","line":187,"range":{"start_line":187,"start_character":19,"end_line":187,"end_character":24},"in_reply_to":"7712ba3a_743c028a","updated":"2023-09-22 08:25:35.000000000","message":"Rigth!","commit_id":"815710aa694a810849eec3b90a11ed2126038854"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"36d8b229e340a795b5b9d54cbf1a691da08b7bfe","unresolved":true,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":"PriorityCallbacks \u003d collections.namedtuple("},{"line_number":25,"context_line":"    \u0027PriorityCallbacks\u0027, [\u0027priority\u0027, \u0027pri_callbacks\u0027, \u0027cancellable\u0027])"},{"line_number":26,"context_line":"Callback \u003d collections.namedtuple("},{"line_number":27,"context_line":"    \u0027Callback\u0027, [\u0027id\u0027, \u0027method\u0027, \u0027cancellable\u0027])"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a60f171b_e5ff8fba","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":8},"updated":"2023-11-07 13:57:40.000000000","message":"nit: perhaps the name should show that these are named tuples like:\nPriorityCallbacksTuple and CallbackTuple","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"881de75e0eec8a8b9e71d24c2cdee88182c0060a","unresolved":true,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":"PriorityCallbacks \u003d collections.namedtuple("},{"line_number":25,"context_line":"    \u0027PriorityCallbacks\u0027, [\u0027priority\u0027, \u0027pri_callbacks\u0027, \u0027cancellable\u0027])"},{"line_number":26,"context_line":"Callback \u003d collections.namedtuple("},{"line_number":27,"context_line":"    \u0027Callback\u0027, [\u0027id\u0027, \u0027method\u0027, \u0027cancellable\u0027])"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"668aae78_7e180a53","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":8},"in_reply_to":"a60f171b_e5ff8fba","updated":"2023-11-07 18:38:33.000000000","message":"Personally I\u0027m ok with the names just based on other files","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2a441108579225ebb2603a89d8c9d481dca6235b","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        :param event: the event. It must be a valid event."},{"line_number":46,"context_line":"        :param priority: the priority. Callbacks are sorted by priority"},{"line_number":47,"context_line":"                         to be called. Smaller one is called earlier."},{"line_number":48,"context_line":"        :param cancellable: if the callback is \"cancellable\", in case of"},{"line_number":49,"context_line":"                            returning an exception, the callback manager will"},{"line_number":50,"context_line":"                            raise a ``CallbackFailure`` exception."},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        LOG.debug(\"Subscribe: %(callback)s %(resource)s %(event)s \""},{"line_number":53,"context_line":"                  \"%(priority)d, %(cancellable)s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"6f010350_94fcb9b3","line":50,"range":{"start_line":48,"start_character":28,"end_line":50,"end_character":66},"updated":"2023-11-15 20:54:38.000000000","message":"I would rather provide an information about what cancellable means. It\u0027s intuitive that a cancellable flag sets cancellable behavior.","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"}],"test-requirements.txt":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"36d8b229e340a795b5b9d54cbf1a691da08b7bfe","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"bandit!\u003d1.6.0,\u003e\u003d1.1.0 # Apache-2.0"},{"line_number":8,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":9,"context_line":"ddt\u003e\u003d1.0.1 # MIT"},{"line_number":10,"context_line":"fixtures\u003e\u003d3.0.0 # Apache-2.0/BSD"},{"line_number":11,"context_line":"flake8-import-order\u003d\u003d0.12 # LGPLv3"},{"line_number":12,"context_line":"pylint\u003e\u003d2.2.0 # GPLv2"}],"source_content_type":"text/plain","patch_set":5,"id":"bc34f507_08b82a34","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":3},"updated":"2023-11-07 13:57:40.000000000","message":"+1 for adding here","commit_id":"08b8c6d33b34de4be96116ed78835645dca9493a"}]}
