)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5edfea09aa244cda892ec738330a5d47cda5e5e9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"it will be quite useful going forward (for tooz"},{"line_number":14,"context_line":"and users of tooz)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Co-authored-by: Clint \u0027SpamapS\u0027 Byrum"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Icd17f57045c5642d81bb643a846ceb4fb6859f0e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a68dd71_0da0e3a4","line":16,"updated":"2016-01-26 13:27:25.000000000","message":"Co-Authored-By\n\nand include email address in \u003c\u003e","commit_id":"e411e34533b93e5857229c5302339cfa209f6c6e"}],"tooz/drivers/etcd.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"9981b6d236b6ea7d3880d5702b2e1a5f6d32e532","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    leftover_chars \u003d len(response) - max_len"},{"line_number":37,"context_line":"    leftover \u003d u\"... (and %s more characters)\" % leftover_chars"},{"line_number":38,"context_line":"    return response[0:max_len] + leftover"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def _translate_failures(func):"},{"line_number":42,"context_line":"    \"\"\"Translates common requests exceptions into tooz exceptions.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a68dd71_e2423e68","line":39,"updated":"2016-01-26 13:27:04.000000000","message":"My eyes!\n\n\ndef _cut_partial(response, max_len):\n  excess \u003d len(response) - max_len\n  if excess \u003c\u003d 0:\n    return response\n  return response[:max_len] +  u\"... (and %s more characters)\" % excess\n\n\nYou\u0027re welcome. :)","commit_id":"e411e34533b93e5857229c5302339cfa209f6c6e"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"5598a2239b2451f0243e721564e09c7a2e941e53","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    leftover_chars \u003d len(response) - max_len"},{"line_number":37,"context_line":"    leftover \u003d u\"... (and %s more characters)\" % leftover_chars"},{"line_number":38,"context_line":"    return response[0:max_len] + leftover"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def _translate_failures(func):"},{"line_number":42,"context_line":"    \"\"\"Translates common requests exceptions into tooz exceptions.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a68dd71_9845d318","line":39,"in_reply_to":"9a68dd71_e2423e68","updated":"2016-01-26 22:35:28.000000000","message":"U need to get your eyes checked, haha.","commit_id":"e411e34533b93e5857229c5302339cfa209f6c6e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"9981b6d236b6ea7d3880d5702b2e1a5f6d32e532","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    return wrapper"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def _translate_json_issues(func, url, kind, **kwargs):"},{"line_number":57,"context_line":"    resp \u003d func(url, **kwargs)"},{"line_number":58,"context_line":"    try:"},{"line_number":59,"context_line":"        return resp.json()"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a68dd71_4d025bb6","line":56,"updated":"2016-01-26 13:27:04.000000000","message":"This should be a in a different patch :(","commit_id":"e411e34533b93e5857229c5302339cfa209f6c6e"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"5598a2239b2451f0243e721564e09c7a2e941e53","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    return wrapper"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def _translate_json_issues(func, url, kind, **kwargs):"},{"line_number":57,"context_line":"    resp \u003d func(url, **kwargs)"},{"line_number":58,"context_line":"    try:"},{"line_number":59,"context_line":"        return resp.json()"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a68dd71_d8626bad","line":56,"in_reply_to":"9a68dd71_4d025bb6","updated":"2016-01-26 22:35:28.000000000","message":"Ya, it was for debugging wtf was broken, will move.","commit_id":"e411e34533b93e5857229c5302339cfa209f6c6e"}],"tooz/drivers/memcached.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0e87b1defaf4a71163aa16e6c6ae0869161642e4","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        # id and then do the delete and bail out if the session id is not"},{"line_number":138,"context_line":"        # as expected but memcache doesn\u0027t seem to have any equivalent"},{"line_number":139,"context_line":"        # capability."},{"line_number":140,"context_line":"        if self not in self.coord._acquired_locks:"},{"line_number":141,"context_line":"            return False"},{"line_number":142,"context_line":"        # Do a ghetto test to see what the value is... (see above note),"},{"line_number":143,"context_line":"        # and how this really can\u0027t be done safely with memcache due to"}],"source_content_type":"text/x-python","patch_set":2,"id":"da6ed579_58d3e038","line":140,"updated":"2016-01-12 16:03:20.000000000","message":"That part seems ok but unrelated, no?","commit_id":"40c580b80d4029b8f765ac823ef9166c0e657373"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"4a029af00b33754c9d2efd97f60103e037ac3d47","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        # id and then do the delete and bail out if the session id is not"},{"line_number":138,"context_line":"        # as expected but memcache doesn\u0027t seem to have any equivalent"},{"line_number":139,"context_line":"        # capability."},{"line_number":140,"context_line":"        if self not in self.coord._acquired_locks:"},{"line_number":141,"context_line":"            return False"},{"line_number":142,"context_line":"        # Do a ghetto test to see what the value is... (see above note),"},{"line_number":143,"context_line":"        # and how this really can\u0027t be done safely with memcache due to"}],"source_content_type":"text/x-python","patch_set":2,"id":"da6ed579_07fae042","line":140,"in_reply_to":"da6ed579_58d3e038","updated":"2016-01-12 17:41:43.000000000","message":"This was mainly because the tests are now trying to see if the release fails when the lock is broken, which the ghetto get/delete changed here makes work (although it really is a shitty guarantee of this, because its client-side and non-atomic).","commit_id":"40c580b80d4029b8f765ac823ef9166c0e657373"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"03e4c0c20a34b21957258a2f289d4743e115dbdd","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        if value !\u003d self.coord._member_id:"},{"line_number":147,"context_line":"            return False"},{"line_number":148,"context_line":"        else:"},{"line_number":149,"context_line":"            was_deleted \u003d self.coord.client.delete(self.name, noreply\u003dFalse)"},{"line_number":150,"context_line":"            if was_deleted:"},{"line_number":151,"context_line":"                self.coord._acquired_locks.remove(self)"},{"line_number":152,"context_line":"            return was_deleted"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a5de9d1_0ec5168d","line":149,"updated":"2016-01-28 10:45:18.000000000","message":"https://groups.google.com/forum/#!topic/memcached/RqsfEuOKZAs ?","commit_id":"61c4224b57a4da10b6d44965edea90af0bd1125d"}]}
