)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"29217d62a2a412997958a30fd7ab66ba3602bce3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XtremIO: fix generic glance cache with XtremIO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Identify the apropriate error for snapshot limit from the array"},{"line_number":10,"context_line":"  and raise the right error to invalidate the cache."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"liberty-backport-potential"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a8ffd7b_1fad4f31","line":9,"updated":"2015-12-01 02:04:20.000000000","message":"s/apropriate/appropriate","commit_id":"5110de9e4c4c46cae6e12351eadd6079365b3b64"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"92c23b7a7cb0728306dde879283584733fe9da46","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  volume representing a cached image"},{"line_number":13,"context_line":"* Add unittest for snapshot limit"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"liberty-backport-potential"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ic15257c9409373a4883870681d1412161cd3437c"},{"line_number":18,"context_line":"Closes-Bug: #1519843"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a740942_2124585e","line":15,"updated":"2015-12-07 12:15:40.000000000","message":"We can\u0027t backport new config options","commit_id":"2340c643d16d52e1812beb5a6ef422945ef1b25b"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"e8bc51a17c077b82af415d46a9a1fe46d1472307","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  volume representing a cached image"},{"line_number":13,"context_line":"* Add unittest for snapshot limit"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"liberty-backport-potential"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ic15257c9409373a4883870681d1412161cd3437c"},{"line_number":18,"context_line":"Closes-Bug: #1519843"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a740942_f06903f9","line":15,"in_reply_to":"7a740942_2124585e","updated":"2015-12-13 10:47:17.000000000","message":"Done","commit_id":"2340c643d16d52e1812beb5a6ef422945ef1b25b"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"13a0bbd44655948a888d9185860b81b89bd0aaa4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  volume representing a cached image"},{"line_number":13,"context_line":"* Add unittest for snapshot limit"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"liberty-backport-potential"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ic15257c9409373a4883870681d1412161cd3437c"},{"line_number":18,"context_line":"Closes-Bug: #1519843"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a740942_90299f9d","line":15,"in_reply_to":"7a740942_2124585e","updated":"2015-12-13 10:55:06.000000000","message":"yes.i agree","commit_id":"2340c643d16d52e1812beb5a6ef422945ef1b25b"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"92c23b7a7cb0728306dde879283584733fe9da46","unresolved":false,"context_lines":[{"line_number":15,"context_line":"liberty-backport-potential"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ic15257c9409373a4883870681d1412161cd3437c"},{"line_number":18,"context_line":"Closes-Bug: #1519843"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a740942_a118481f","line":18,"updated":"2015-12-07 12:15:40.000000000","message":"Please add DocImpact flag too","commit_id":"2340c643d16d52e1812beb5a6ef422945ef1b25b"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"e8bc51a17c077b82af415d46a9a1fe46d1472307","unresolved":false,"context_lines":[{"line_number":15,"context_line":"liberty-backport-potential"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ic15257c9409373a4883870681d1412161cd3437c"},{"line_number":18,"context_line":"Closes-Bug: #1519843"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a740942_106feffc","line":18,"in_reply_to":"7a740942_a118481f","updated":"2015-12-13 10:47:17.000000000","message":"Done","commit_id":"2340c643d16d52e1812beb5a6ef422945ef1b25b"}],"cinder/exception.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e9891da7e42d59ea7607ac21400e48e45c5ab8cd","unresolved":false,"context_lines":[{"line_number":963,"context_line":""},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"class XtremIOSnapshotsLimitExceeded(Exception):"},{"line_number":966,"context_line":"    message \u003d _(\"Exceeded number of snapshot per volume limit\")"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"# Infortrend EonStor DS Driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_ff505d0c","line":966,"updated":"2015-11-25 14:59:34.000000000","message":"This should be changed to \"Exceeded number of snapshots per volume limit.\"","commit_id":"92d7caeebed8000a5d730d36e97096bc3f3c9178"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"8367acc16a6f24eae333bf0382a84043d67173f2","unresolved":false,"context_lines":[{"line_number":963,"context_line":""},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"class XtremIOSnapshotsLimitExceeded(Exception):"},{"line_number":966,"context_line":"    message \u003d _(\"Exceeded number of snapshot per volume limit\")"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"# Infortrend EonStor DS Driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_715546f8","line":966,"in_reply_to":"9a8ffd7b_ff505d0c","updated":"2015-11-26 14:01:43.000000000","message":"Done","commit_id":"92d7caeebed8000a5d730d36e97096bc3f3c9178"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"76b630601f4c6eda2004c511c81681e58617020d","unresolved":false,"context_lines":[{"line_number":962,"context_line":"    message \u003d _(\"System is busy, retry operation.\")"},{"line_number":963,"context_line":""},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"class XtremIOSnapshotsLimitExceeded(Exception):"},{"line_number":966,"context_line":"    message \u003d _(\"Exceeded the limit of snapshots per volume\")"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a7e1126_a793f1a2","line":965,"range":{"start_line":965,"start_character":45,"end_line":965,"end_character":47},"updated":"2015-12-17 02:31:46.000000000","message":"This should inherit from CinderException rather than the general Exception class.","commit_id":"7106b1ec3a8d967c4a982bbc18473bdd1e43da27"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"d90cf32346d283273761385881d600e25721daa2","unresolved":false,"context_lines":[{"line_number":962,"context_line":"    message \u003d _(\"System is busy, retry operation.\")"},{"line_number":963,"context_line":""},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"class XtremIOSnapshotsLimitExceeded(Exception):"},{"line_number":966,"context_line":"    message \u003d _(\"Exceeded the limit of snapshots per volume\")"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a7e1126_7817b851","line":965,"range":{"start_line":965,"start_character":45,"end_line":965,"end_character":47},"in_reply_to":"3a7e1126_a793f1a2","updated":"2015-12-17 14:36:52.000000000","message":"Done","commit_id":"7106b1ec3a8d967c4a982bbc18473bdd1e43da27"}],"cinder/volume/drivers/emc/xtremio.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"29217d62a2a412997958a30fd7ab66ba3602bce3","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        try:"},{"line_number":406,"context_line":"            self.client.create_snapshot(src_vref[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":407,"context_line":"        except exception.XtremIOSnapshotsLimitExceeded as e:"},{"line_number":408,"context_line":"            raise exception.CinderException(e.message)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        if volume.get(\u0027consistencygroup_id\u0027) and self.client is XtremIOClient4:"},{"line_number":411,"context_line":"            self.client.add_vol_to_cg(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_bfe443ac","line":408,"updated":"2015-12-01 02:04:20.000000000","message":"This should just call \"raise\" instead of raising another exception.  So I suggest log an error message here, and then \"raise\".","commit_id":"5110de9e4c4c46cae6e12351eadd6079365b3b64"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"3dbc5c84fd59cf0a010b0e9d31b84c62ce829666","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        try:"},{"line_number":406,"context_line":"            self.client.create_snapshot(src_vref[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":407,"context_line":"        except exception.XtremIOSnapshotsLimitExceeded as e:"},{"line_number":408,"context_line":"            raise exception.CinderException(e.message)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        if volume.get(\u0027consistencygroup_id\u0027) and self.client is XtremIOClient4:"},{"line_number":411,"context_line":"            self.client.add_vol_to_cg(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_c31ccdc3","line":408,"in_reply_to":"9a8ffd7b_bfe443ac","updated":"2015-12-01 07:27:55.000000000","message":"if I will raise any other type of exception, the manager won\u0027t handle this right and a new full copy won\u0027t accrue.\nit has to be this type of message.\nlook in cinder/volume/flows/manager/create_volume.py:684 in _create_from_image_cache","commit_id":"5110de9e4c4c46cae6e12351eadd6079365b3b64"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"29217d62a2a412997958a30fd7ab66ba3602bce3","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                       \u0027reserved_percentage\u0027:"},{"line_number":450,"context_line":"                       self.configuration.reserved_percentage,"},{"line_number":451,"context_line":"                       \u0027QoS_support\u0027: False,"},{"line_number":452,"context_line":"                       \u0027multiattach\u0027: True,"},{"line_number":453,"context_line":"                       }"},{"line_number":454,"context_line":"        self._stats.update(self.client.get_extra_capabilities())"},{"line_number":455,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_7f949be7","line":452,"updated":"2015-12-01 02:04:20.000000000","message":"\"multiattach\" is not related to this bug fix.  Should be done in a different patch.","commit_id":"5110de9e4c4c46cae6e12351eadd6079365b3b64"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"3dbc5c84fd59cf0a010b0e9d31b84c62ce829666","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                       \u0027reserved_percentage\u0027:"},{"line_number":450,"context_line":"                       self.configuration.reserved_percentage,"},{"line_number":451,"context_line":"                       \u0027QoS_support\u0027: False,"},{"line_number":452,"context_line":"                       \u0027multiattach\u0027: True,"},{"line_number":453,"context_line":"                       }"},{"line_number":454,"context_line":"        self._stats.update(self.client.get_extra_capabilities())"},{"line_number":455,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_2311195e","line":452,"in_reply_to":"9a8ffd7b_7f949be7","updated":"2015-12-01 07:27:55.000000000","message":"Done","commit_id":"5110de9e4c4c46cae6e12351eadd6079365b3b64"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"8c53c2c6aa1b626e330ce68c20a4947e0e4562c8","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        \"\"\"Creates a clone of the specified volume.\"\"\""},{"line_number":408,"context_line":"        vol \u003d self.client.req(\u0027volumes\u0027, name\u003dsrc_vref[\u0027id\u0027])[\u0027content\u0027]"},{"line_number":409,"context_line":"        limit \u003d self.configuration.safe_get(\u0027xtremio_volumes_per_glance_cache\u0027)"},{"line_number":410,"context_line":"        if limit and limit \u003e 0 and limit \u003c\u003d vol[\u0027num-of-dest-snaps\u0027]:"},{"line_number":411,"context_line":"            raise exception.CinderException(\u0027Exceeded the configured limit\u0027"},{"line_number":412,"context_line":"                                            \u0027 of snapshots per volume\u0027)"},{"line_number":413,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_67c00451","line":410,"updated":"2015-12-03 04:55:26.000000000","message":"So this can hit when someone simply creates 101 cloned volumes, without even enabling or using the glance cache.","commit_id":"0a334ff83df014ae73b1e8ee216a0f1b8b5a9d17"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"0f2964a38dc47662ef041d5354b4f448780c576a","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        \"\"\"Creates a clone of the specified volume.\"\"\""},{"line_number":408,"context_line":"        vol \u003d self.client.req(\u0027volumes\u0027, name\u003dsrc_vref[\u0027id\u0027])[\u0027content\u0027]"},{"line_number":409,"context_line":"        limit \u003d self.configuration.safe_get(\u0027xtremio_volumes_per_glance_cache\u0027)"},{"line_number":410,"context_line":"        if limit and limit \u003e 0 and limit \u003c\u003d vol[\u0027num-of-dest-snaps\u0027]:"},{"line_number":411,"context_line":"            raise exception.CinderException(\u0027Exceeded the configured limit\u0027"},{"line_number":412,"context_line":"                                            \u0027 of snapshots per volume\u0027)"},{"line_number":413,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_a0dfa80b","line":410,"in_reply_to":"9a8ffd7b_67c00451","updated":"2015-12-03 10:33:49.000000000","message":"Done","commit_id":"0a334ff83df014ae73b1e8ee216a0f1b8b5a9d17"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"fe3278343d47f9c0f81d81953276322899ae8086","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        limit \u003d self.configuration.safe_get(\u0027xtremio_volumes_per_glance_cache\u0027)"},{"line_number":410,"context_line":"        if limit and limit \u003e 0 and limit \u003c\u003d vol[\u0027num-of-dest-snaps\u0027]:"},{"line_number":411,"context_line":"            raise exception.CinderException(\u0027Exceeded the configured limit\u0027"},{"line_number":412,"context_line":"                                            \u0027 of snapshots per volume\u0027)"},{"line_number":413,"context_line":"        try:"},{"line_number":414,"context_line":"            self.client.create_snapshot(src_vref[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":415,"context_line":"        except exception.XtremIOSnapshotsLimitExceeded as e:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_0257a65a","line":412,"updated":"2015-12-03 05:40:33.000000000","message":"Can we add a limit value to the message? It will help a lot in a troubleshooting","commit_id":"0a334ff83df014ae73b1e8ee216a0f1b8b5a9d17"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"0f2964a38dc47662ef041d5354b4f448780c576a","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        limit \u003d self.configuration.safe_get(\u0027xtremio_volumes_per_glance_cache\u0027)"},{"line_number":410,"context_line":"        if limit and limit \u003e 0 and limit \u003c\u003d vol[\u0027num-of-dest-snaps\u0027]:"},{"line_number":411,"context_line":"            raise exception.CinderException(\u0027Exceeded the configured limit\u0027"},{"line_number":412,"context_line":"                                            \u0027 of snapshots per volume\u0027)"},{"line_number":413,"context_line":"        try:"},{"line_number":414,"context_line":"            self.client.create_snapshot(src_vref[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":415,"context_line":"        except exception.XtremIOSnapshotsLimitExceeded as e:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_aa422c3c","line":412,"in_reply_to":"9a8ffd7b_0257a65a","updated":"2015-12-03 10:33:49.000000000","message":"Done","commit_id":"0a334ff83df014ae73b1e8ee216a0f1b8b5a9d17"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"76b630601f4c6eda2004c511c81681e58617020d","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            elif err_msg \u003d\u003d SYSTEM_BUSY:"},{"line_number":167,"context_line":"                raise exception.XtremIOArrayBusy()"},{"line_number":168,"context_line":"            elif err_msg in (TOO_MANY_OBJECTS, TOO_MANY_SNAPSHOTS_PER_VOL):"},{"line_number":169,"context_line":"                raise exception.XtremIOSnapshotsLimitExceeded()"},{"line_number":170,"context_line":"        msg \u003d _(\u0027Bad response from XMS, %s\u0027) % response.text"},{"line_number":171,"context_line":"        LOG.error(msg)"},{"line_number":172,"context_line":"        raise exception.VolumeBackendAPIException(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a7e1126_27d5c142","line":169,"updated":"2015-12-17 02:31:46.000000000","message":"Please add a unit test for this exception using assertRaises.","commit_id":"7106b1ec3a8d967c4a982bbc18473bdd1e43da27"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"d90cf32346d283273761385881d600e25721daa2","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            elif err_msg \u003d\u003d SYSTEM_BUSY:"},{"line_number":167,"context_line":"                raise exception.XtremIOArrayBusy()"},{"line_number":168,"context_line":"            elif err_msg in (TOO_MANY_OBJECTS, TOO_MANY_SNAPSHOTS_PER_VOL):"},{"line_number":169,"context_line":"                raise exception.XtremIOSnapshotsLimitExceeded()"},{"line_number":170,"context_line":"        msg \u003d _(\u0027Bad response from XMS, %s\u0027) % response.text"},{"line_number":171,"context_line":"        LOG.error(msg)"},{"line_number":172,"context_line":"        raise exception.VolumeBackendAPIException(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a7e1126_84c55e8f","line":169,"in_reply_to":"3a7e1126_27d5c142","updated":"2015-12-17 14:36:52.000000000","message":"Done","commit_id":"7106b1ec3a8d967c4a982bbc18473bdd1e43da27"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"76b630601f4c6eda2004c511c81681e58617020d","unresolved":false,"context_lines":[{"line_number":417,"context_line":"        try:"},{"line_number":418,"context_line":"            self.client.create_snapshot(src_vref[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":419,"context_line":"        except exception.XtremIOSnapshotsLimitExceeded as e:"},{"line_number":420,"context_line":"            raise exception.CinderException(e.message)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"        if volume.get(\u0027consistencygroup_id\u0027) and self.client is XtremIOClient4:"},{"line_number":423,"context_line":"            self.client.add_vol_to_cg(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a7e1126_27d86153","line":420,"updated":"2015-12-17 02:31:46.000000000","message":"Please add another unit test for this exception.  For example:\n\nself.mock._object(self.driver.client, \u0027create_snapshot\u0027, mock.Mock(side_effect\u003dexception.XtremIOSnapshotsLimitExceeded())\n\nself.assertRaises(exception.CinderException, create_cloned_volume,......)","commit_id":"7106b1ec3a8d967c4a982bbc18473bdd1e43da27"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"d90cf32346d283273761385881d600e25721daa2","unresolved":false,"context_lines":[{"line_number":417,"context_line":"        try:"},{"line_number":418,"context_line":"            self.client.create_snapshot(src_vref[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":419,"context_line":"        except exception.XtremIOSnapshotsLimitExceeded as e:"},{"line_number":420,"context_line":"            raise exception.CinderException(e.message)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"        if volume.get(\u0027consistencygroup_id\u0027) and self.client is XtremIOClient4:"},{"line_number":423,"context_line":"            self.client.add_vol_to_cg(volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a7e1126_b3d77abe","line":420,"in_reply_to":"3a7e1126_27d86153","updated":"2015-12-17 14:36:52.000000000","message":"Done","commit_id":"7106b1ec3a8d967c4a982bbc18473bdd1e43da27"}]}
