)]}'
{"trove/common/extensions.py":[{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"18e53dfdd53b8897a9f2b2de19165d871e313b27","unresolved":false,"context_lines":[{"line_number":397,"context_line":"            LOG.debug(\u0027Ext namespace: %s\u0027, extension.get_namespace())"},{"line_number":398,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":399,"context_line":"        except AttributeError as ex:"},{"line_number":400,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"), unocode(ex))"},{"line_number":401,"context_line":"            return False"},{"line_number":402,"context_line":"        return True"},{"line_number":403,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_f23ee389","line":400,"range":{"start_line":400,"start_character":64,"end_line":400,"end_character":71},"updated":"2016-01-31 23:04:21.000000000","message":"Seems to be unrelated (and wrong?).","commit_id":"9d4ba1439e7f6763ef492b398242507f8c331787"}],"trove/tests/fakes/swift.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"cb4f7a7cc9c120890ac36f3783bde0ad1fe424d6","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                  {\u0027container\u0027: container, \u0027name\u0027: name})"},{"line_number":103,"context_line":"        checksum \u003d md5()"},{"line_number":104,"context_line":"        if self.manifest_prefix and self.manifest_name \u003d\u003d name:"},{"line_number":105,"context_line":"            for object_name in sorted(self.container_objects.keys()):"},{"line_number":106,"context_line":"                object_checksum \u003d md5(self.container_objects[object_name])"},{"line_number":107,"context_line":"                # The manifest file etag for a HEAD or GET is the checksum of"},{"line_number":108,"context_line":"                # the concatenated checksums."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_b5700ade","line":105,"range":{"start_line":105,"start_character":43,"end_line":105,"end_character":60},"updated":"2016-02-02 10:40:11.000000000","message":"why not sorted(self.container_objects)? You keep performance of an iterator on Python 2 and it\u0027s shorter ;-)","commit_id":"1e5dad07b87d5385d0a8c6e386a381bd65c340cb"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d1de3373ba933aa4efda5769727f0c6f6fed07a4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                  {\u0027container\u0027: container, \u0027name\u0027: name})"},{"line_number":103,"context_line":"        checksum \u003d md5()"},{"line_number":104,"context_line":"        if self.manifest_prefix and self.manifest_name \u003d\u003d name:"},{"line_number":105,"context_line":"            for object_name in sorted(self.container_objects.keys()):"},{"line_number":106,"context_line":"                object_checksum \u003d md5(self.container_objects[object_name])"},{"line_number":107,"context_line":"                # The manifest file etag for a HEAD or GET is the checksum of"},{"line_number":108,"context_line":"                # the concatenated checksums."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_60716e77","line":105,"range":{"start_line":105,"start_character":43,"end_line":105,"end_character":60},"in_reply_to":"7a5de9d1_b5700ade","updated":"2016-02-02 10:48:24.000000000","message":"Done","commit_id":"1e5dad07b87d5385d0a8c6e386a381bd65c340cb"}]}
