)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"e3b870f6fca0b539a7165fb2b75191627a7b12fe","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit provides initial support for Glance v3 api and creates"},{"line_number":10,"context_line":"stubs for methods and tests"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I83bf3eed4e2c44687f001e98be264fa75f16b349"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_9dcc2d8a","line":11,"updated":"2015-06-18 22:08:28.000000000","message":"Please add \"Implements: bp/artifact-repository\" to the commit message when you get a chance.","commit_id":"e2c3cb896623cf3fe419fbab5743480c71603577"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"905b84e97720236b82114cd5206bf2276a75a0ec","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit provides initial support for Glance v3 api and creates"},{"line_number":10,"context_line":"stubs for methods and tests"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I83bf3eed4e2c44687f001e98be264fa75f16b349"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_c53a73e7","line":11,"in_reply_to":"fa32b979_9dcc2d8a","updated":"2015-06-22 18:35:35.000000000","message":"Done :)","commit_id":"e2c3cb896623cf3fe419fbab5743480c71603577"}],"glanceclient/v3/__init__.py":[{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"ce3d4b82ec4396bd753ae16289e08b75767ad8c7","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            msg \u003d \"Invalid parameters were provided\""},{"line_number":39,"context_line":"            raise exc.HTTPBadRequest(msg)"},{"line_number":40,"context_line":"        if kwargs:"},{"line_number":41,"context_line":"            self.additionalProperties \u003d {}"},{"line_number":42,"context_line":"        for key, value in six.iteritems(kwargs):"},{"line_number":43,"context_line":"            if _is_dependency(value):"},{"line_number":44,"context_line":"                self.additionalProperties[key] \u003d ArtifactType(**value)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_e3ebbdda","line":41,"updated":"2015-06-23 16:39:05.000000000","message":"Let\u0027s init additional properties regardless of their presence: if no properties are present, leave this dict as empty","commit_id":"518fe83af70069d305549548aa4e26d3f6a17ce2"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"e0365e65a4860f440e92011758864b0df2d115cb","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            msg \u003d \"Invalid parameters were provided\""},{"line_number":39,"context_line":"            raise exc.HTTPBadRequest(msg)"},{"line_number":40,"context_line":"        if kwargs:"},{"line_number":41,"context_line":"            self.additionalProperties \u003d {}"},{"line_number":42,"context_line":"        for key, value in six.iteritems(kwargs):"},{"line_number":43,"context_line":"            if _is_dependency(value):"},{"line_number":44,"context_line":"                self.additionalProperties[key] \u003d ArtifactType(**value)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_438866c5","line":41,"in_reply_to":"fa32b979_e3ebbdda","updated":"2015-06-23 18:43:51.000000000","message":"Done","commit_id":"518fe83af70069d305549548aa4e26d3f6a17ce2"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"ce3d4b82ec4396bd753ae16289e08b75767ad8c7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            self.additionalProperties \u003d {}"},{"line_number":42,"context_line":"        for key, value in six.iteritems(kwargs):"},{"line_number":43,"context_line":"            if _is_dependency(value):"},{"line_number":44,"context_line":"                self.additionalProperties[key] \u003d ArtifactType(**value)"},{"line_number":45,"context_line":"            elif _is_depencies_list(value):"},{"line_number":46,"context_line":"                self.additionalProperties[key] \u003d [ArtifactType(**elem)"},{"line_number":47,"context_line":"                                                  for elem in value]"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_037ee118","line":44,"updated":"2015-06-23 16:39:05.000000000","message":"catch a KeyError here and deserialize this property as a regular dict","commit_id":"518fe83af70069d305549548aa4e26d3f6a17ce2"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"e0365e65a4860f440e92011758864b0df2d115cb","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            self.additionalProperties \u003d {}"},{"line_number":42,"context_line":"        for key, value in six.iteritems(kwargs):"},{"line_number":43,"context_line":"            if _is_dependency(value):"},{"line_number":44,"context_line":"                self.additionalProperties[key] \u003d ArtifactType(**value)"},{"line_number":45,"context_line":"            elif _is_depencies_list(value):"},{"line_number":46,"context_line":"                self.additionalProperties[key] \u003d [ArtifactType(**elem)"},{"line_number":47,"context_line":"                                                  for elem in value]"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_40dcdc72","line":44,"in_reply_to":"fa32b979_037ee118","updated":"2015-06-23 18:43:51.000000000","message":"I think you mean HTTPBadRequest, because this exception will be raised if KeyError occurs.","commit_id":"518fe83af70069d305549548aa4e26d3f6a17ce2"}],"glanceclient/v3/artifacts.py":[{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"ce3d4b82ec4396bd753ae16289e08b75767ad8c7","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def delete(self, artifact_id):"},{"line_number":38,"context_line":"        raise NotImplementedError()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def upload_blob(self, artifact_id, blob_property, data, position\u003dNone):"},{"line_number":41,"context_line":"        raise NotImplementedError()"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_03fa6175","line":39,"updated":"2015-06-23 16:39:05.000000000","message":"Lifecycle actions requires deactivate/reactivate as well","commit_id":"518fe83af70069d305549548aa4e26d3f6a17ce2"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"e0365e65a4860f440e92011758864b0df2d115cb","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def delete(self, artifact_id):"},{"line_number":38,"context_line":"        raise NotImplementedError()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def upload_blob(self, artifact_id, blob_property, data, position\u003dNone):"},{"line_number":41,"context_line":"        raise NotImplementedError()"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_e355fa1d","line":39,"in_reply_to":"fa32b979_03fa6175","updated":"2015-06-23 18:43:51.000000000","message":"Done","commit_id":"518fe83af70069d305549548aa4e26d3f6a17ce2"}]}
