)]}'
{"examples/claims.py":[{"author":{"_account_id":6944,"name":"Allele Dev","email":"cpp.cabrera@gmail.com","username":"cpp-cabrera"},"change_message_id":"c7bd584f46e3d6a08843c59b6ea4f5d479e10e09","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":51,"context_line":"    send_jobs()"},{"line_number":52,"context_line":"    process_jobs()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUX%2F%2FfU4%3D","line":52,"updated":"2014-02-12 20:27:21.000000000","message":"Thanks for the example!","commit_id":"7f21a7a02820806eef0cbd1aa36c0e21835ce5e5"}],"marconiclient/queues/v1/claim.py":[{"author":{"_account_id":7680,"name":"Alex Gaynor","email":"alex.gaynor@gmail.com","username":"alex_gaynor"},"change_message_id":"364edc6a46446c08fccf325243035601cf1e1013","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        self.ttl \u003d req[\u0027ttl\u0027]"},{"line_number":25,"context_line":"        self.messages \u003d message._MessageIterator(self._queue,"},{"line_number":26,"context_line":"                                                 req[\u0027messages\u0027])"},{"line_number":27,"context_line":"        self._id \u003d req[\u0027href\u0027].split(\u0027?\u0027)[-1]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __repr__(self):"},{"line_number":30,"context_line":"        return \u0027\u003cClaim id:{id} ttl:{ttl}\u003e\u0027.format(id\u003dself._id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FppA%3D","line":27,"updated":"2014-02-11 18:43:34.000000000","message":"This doesn\u0027t seem like it\u0027s right. If it is, could you add a comment showing what `req[\"href\"]` looks like so it\u0027s clear.","commit_id":"62ece5a8a760d2cb3175ff4b15494d128c5a7eb8"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"f4ff3b68673a58af4c2a84effd5dc2743bc8800b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        self.ttl \u003d req[\u0027ttl\u0027]"},{"line_number":25,"context_line":"        self.messages \u003d message._MessageIterator(self._queue,"},{"line_number":26,"context_line":"                                                 req[\u0027messages\u0027])"},{"line_number":27,"context_line":"        self._id \u003d req[\u0027href\u0027].split(\u0027?\u0027)[-1]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __repr__(self):"},{"line_number":30,"context_line":"        return \u0027\u003cClaim id:{id} ttl:{ttl}\u003e\u0027.format(id\u003dself._id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FoPs%3D","line":27,"in_reply_to":"AAAAUX%2F%2FppA%3D","updated":"2014-02-11 21:48:18.000000000","message":"I think you are right:\nhttp://bla/messages/bla?claim_id\u003dfoo\n- I\u0027ll sort it out","commit_id":"62ece5a8a760d2cb3175ff4b15494d128c5a7eb8"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"877fc939669637b97153a96b63f3bb3f146774fc","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def __repr__(self):"},{"line_number":32,"context_line":"        return \u0027\u003cClaim id:{id} ttl:{ttl}\u003e\u0027.format(id\u003dself._id,"},{"line_number":33,"context_line":"                                                  ttl\u003dself.ttl)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B4Tc%3D","line":33,"updated":"2014-02-18 13:21:05.000000000","message":"Should this have a `release` / `delete` method?\n\nAlso, what do you think about making this method iterable over the _MessageIterator?\n\n    def __iter__(....):\n        return self.messages","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6944,"name":"Allele Dev","email":"cpp.cabrera@gmail.com","username":"cpp-cabrera"},"change_message_id":"05e855e6c44bf683b83be1efc55bc8ce1155fb5a","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def __repr__(self):"},{"line_number":32,"context_line":"        return \u0027\u003cClaim id:{id} ttl:{ttl}\u003e\u0027.format(id\u003dself._id,"},{"line_number":33,"context_line":"                                                  ttl\u003dself.ttl)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B3O8%3D","line":33,"in_reply_to":"AAAAUX%2F%2B4Tc%3D","updated":"2014-02-18 15:01:15.000000000","message":"I agree that a `release` method should be provided.\n\nI\u0027m okay with the release method being provided in another patch.","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"d14d1769406e03d9ee94f8c6597f87d1268cc61f","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def __repr__(self):"},{"line_number":32,"context_line":"        return \u0027\u003cClaim id:{id} ttl:{ttl}\u003e\u0027.format(id\u003dself._id,"},{"line_number":33,"context_line":"                                                  ttl\u003dself.ttl)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAU3%2F%2F70s%3D","line":33,"in_reply_to":"AAAAUX%2F%2B4Tc%3D","updated":"2014-02-24 00:28:44.000000000","message":"I don\u0027t see a separate \"release\" api. You mean delete?\nhttps://github.com/openstack/marconi/blob/master/marconi/queues/api/v1/request.py","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"}],"marconiclient/queues/v1/core.py":[{"author":{"_account_id":6944,"name":"Allele Dev","email":"cpp.cabrera@gmail.com","username":"cpp-cabrera"},"change_message_id":"c7bd584f46e3d6a08843c59b6ea4f5d479e10e09","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    :param request: Request instance ready to be sent."},{"line_number":300,"context_line":"    :type request: `transport.request.Request`"},{"line_number":301,"context_line":"    \"\"\""},{"line_number":302,"context_line":"    request.operation \u003d \u0027claim_get\u0027"},{"line_number":303,"context_line":"    request.params[\u0027queue_name\u0027] \u003d queue_name"},{"line_number":304,"context_line":"    request.params[\u0027claim_id\u0027] \u003d claim_id"},{"line_number":305,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUX%2F%2FfUg%3D","line":302,"updated":"2014-02-12 20:27:21.000000000","message":"claim_delete","commit_id":"7f21a7a02820806eef0cbd1aa36c0e21835ce5e5"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"86728eb45ff32ab7187bc09236b1383fa206191a","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    :param request: Request instance ready to be sent."},{"line_number":300,"context_line":"    :type request: `transport.request.Request`"},{"line_number":301,"context_line":"    \"\"\""},{"line_number":302,"context_line":"    request.operation \u003d \u0027claim_get\u0027"},{"line_number":303,"context_line":"    request.params[\u0027queue_name\u0027] \u003d queue_name"},{"line_number":304,"context_line":"    request.params[\u0027claim_id\u0027] \u003d claim_id"},{"line_number":305,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUX%2F%2FeGg%3D","line":302,"in_reply_to":"AAAAUX%2F%2FfUg%3D","updated":"2014-02-12 23:45:00.000000000","message":"doh! well spotted.","commit_id":"7f21a7a02820806eef0cbd1aa36c0e21835ce5e5"}],"marconiclient/queues/v1/message.py":[{"author":{"_account_id":7680,"name":"Alex Gaynor","email":"alex.gaynor@gmail.com","username":"alex_gaynor"},"change_message_id":"364edc6a46446c08fccf325243035601cf1e1013","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    @property"},{"line_number":113,"context_line":"    def claim_id(self):"},{"line_number":114,"context_line":"        if \u0027\u003d\u0027 in self.href:"},{"line_number":115,"context_line":"            return self.href.split(\u0027\u003d\u0027)[-1]"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def delete(self):"},{"line_number":118,"context_line":"        req, trans \u003d self.queue.client._request_and_transport()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2Fpok%3D","line":115,"updated":"2014-02-11 18:43:34.000000000","message":"Same for all of these.","commit_id":"62ece5a8a760d2cb3175ff4b15494d128c5a7eb8"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"f4ff3b68673a58af4c2a84effd5dc2743bc8800b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    @property"},{"line_number":113,"context_line":"    def claim_id(self):"},{"line_number":114,"context_line":"        if \u0027\u003d\u0027 in self.href:"},{"line_number":115,"context_line":"            return self.href.split(\u0027\u003d\u0027)[-1]"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def delete(self):"},{"line_number":118,"context_line":"        req, trans \u003d self.queue.client._request_and_transport()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FoPg%3D","line":115,"in_reply_to":"AAAAUX%2F%2Fpok%3D","updated":"2014-02-11 21:48:18.000000000","message":"sure.","commit_id":"62ece5a8a760d2cb3175ff4b15494d128c5a7eb8"}],"marconiclient/queues/v1/queues.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"877fc939669637b97153a96b63f3bb3f146774fc","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        core.queue_delete(trans, req, self._name)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # Claims API"},{"line_number":86,"context_line":"    def claim(self, ttl\u003d60, grace\u003d60, limit\u003dNone):"},{"line_number":87,"context_line":"        req, trans \u003d self.client._request_and_transport()"},{"line_number":88,"context_line":"        msgs \u003d core.claim_create(trans, req, self._name,"},{"line_number":89,"context_line":"                                 ttl\u003dttl, grace\u003dgrace, limit\u003dlimit)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B4QU%3D","line":86,"updated":"2014-02-18 13:21:05.000000000","message":"I have some concerns about these methods breaking the consistency with other parts of the library.\n\nWhat I mean is that I\u0027d expect this method to return *always* a Claim instance. The `claim_id` can be retrieved from the `Location` header and the messages returned from the API could be feed into the Claim instance.\n\nI think this method could also accept an `id` keyword in case the user already has an id.\n\nFurthermore, I think that `Claim` should be lazy loaded to avoid making not-necessary calls to the API in the case of calls like `queue.claim(id\u003dclaim_id).delete()` - in this case we don\u0027t want to retrieve the claim data.","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"877fc939669637b97153a96b63f3bb3f146774fc","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            return []"},{"line_number":92,"context_line":"        return message._MessageIterator(self, msgs)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def claim_get_by_id(self, claim_id):"},{"line_number":95,"context_line":"        req, trans \u003d self.client._request_and_transport()"},{"line_number":96,"context_line":"        claim_res \u003d core.claim_get(trans, req, self._name,"},{"line_number":97,"context_line":"                                   claim_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B4QM%3D","line":94,"updated":"2014-02-18 13:21:05.000000000","message":"based on the previous comment on `claim`, I think this method could go away.","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6944,"name":"Allele Dev","email":"cpp.cabrera@gmail.com","username":"cpp-cabrera"},"change_message_id":"05e855e6c44bf683b83be1efc55bc8ce1155fb5a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            return []"},{"line_number":92,"context_line":"        return message._MessageIterator(self, msgs)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def claim_get_by_id(self, claim_id):"},{"line_number":95,"context_line":"        req, trans \u003d self.client._request_and_transport()"},{"line_number":96,"context_line":"        claim_res \u003d core.claim_get(trans, req, self._name,"},{"line_number":97,"context_line":"                                   claim_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B3NI%3D","line":94,"in_reply_to":"AAAAUX%2F%2B4QM%3D","updated":"2014-02-18 15:01:15.000000000","message":"+1","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"877fc939669637b97153a96b63f3bb3f146774fc","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                   claim_id)"},{"line_number":98,"context_line":"        return claim.Claim(self.client, self, claim_res)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def update_claim(self, claim_id, ttl, grace\u003dNone):"},{"line_number":101,"context_line":"        req, trans \u003d self.client._request_and_transport()"},{"line_number":102,"context_line":"        kwargs \u003d {}"},{"line_number":103,"context_line":"        kwargs[\u0027ttl\u0027] \u003d ttl"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B4P8%3D","line":100,"updated":"2014-02-18 13:21:05.000000000","message":"Probably this method should be moved under `Claim` too","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6944,"name":"Allele Dev","email":"cpp.cabrera@gmail.com","username":"cpp-cabrera"},"change_message_id":"05e855e6c44bf683b83be1efc55bc8ce1155fb5a","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                   claim_id)"},{"line_number":98,"context_line":"        return claim.Claim(self.client, self, claim_res)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def update_claim(self, claim_id, ttl, grace\u003dNone):"},{"line_number":101,"context_line":"        req, trans \u003d self.client._request_and_transport()"},{"line_number":102,"context_line":"        kwargs \u003d {}"},{"line_number":103,"context_line":"        kwargs[\u0027ttl\u0027] \u003d ttl"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B3NQ%3D","line":100,"in_reply_to":"AAAAUX%2F%2B4P8%3D","updated":"2014-02-18 15:01:15.000000000","message":"+1","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"877fc939669637b97153a96b63f3bb3f146774fc","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            kwargs[\u0027grace\u0027] \u003d grace"},{"line_number":106,"context_line":"        return core.claim_update(trans, req, self._name, claim_id, **kwargs)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def delete_claim(self, claim_id):"},{"line_number":109,"context_line":"        req, trans \u003d self.client._request_and_transport()"},{"line_number":110,"context_line":"        core.claim_delete(trans, req, self._name, claim_id)"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B4P4%3D","line":108,"updated":"2014-02-18 13:21:05.000000000","message":"And this method should also be moved under `Claim`","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6944,"name":"Allele Dev","email":"cpp.cabrera@gmail.com","username":"cpp-cabrera"},"change_message_id":"05e855e6c44bf683b83be1efc55bc8ce1155fb5a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            kwargs[\u0027grace\u0027] \u003d grace"},{"line_number":106,"context_line":"        return core.claim_update(trans, req, self._name, claim_id, **kwargs)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def delete_claim(self, claim_id):"},{"line_number":109,"context_line":"        req, trans \u003d self.client._request_and_transport()"},{"line_number":110,"context_line":"        core.claim_delete(trans, req, self._name, claim_id)"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B3NU%3D","line":108,"in_reply_to":"AAAAUX%2F%2B4P4%3D","updated":"2014-02-18 15:01:15.000000000","message":"+1","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"}],"marconiclient/tests/queues/claims.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"10be83e1228ac1eb94e0df37c1cbc5cd8219dbf1","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"            # NOTE(asalkeld): Nothing to assert here,"},{"line_number":101,"context_line":"            # just checking our way down to the transport"},{"line_number":102,"context_line":"            # doesn\u0027t crash."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVX%2F%2F6CA%3D","line":102,"updated":"2014-02-27 13:20:30.000000000","message":"Could you please add some functional tests too?\n\nhttps://github.com/openstack/python-marconiclient/blob/master/marconiclient/tests/queues/queues.py#L201","commit_id":"2195a986a5b5213b0c55a6155b68387ae5b47bd7"}],"marconiclient/tests/queues/queues.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"877fc939669637b97153a96b63f3bb3f146774fc","unresolved":false,"context_lines":[{"line_number":197,"context_line":"            # just checking our way down to the transport"},{"line_number":198,"context_line":"            # doesn\u0027t crash."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def test_claim(self):"},{"line_number":201,"context_line":"        result \u003d [{"},{"line_number":202,"context_line":"            \u0027href\u0027: \u0027/v1/queues/fizbit/messages/50b68a50d6f5b8c8a7c62b01\u0027,"},{"line_number":203,"context_line":"            \u0027ttl\u0027: 800,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B4PQ%3D","line":200,"updated":"2014-02-18 13:21:05.000000000","message":"Could you please add a test with limit?","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"877fc939669637b97153a96b63f3bb3f146774fc","unresolved":false,"context_lines":[{"line_number":269,"context_line":"            # doesn\u0027t crash."},{"line_number":270,"context_line":""},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"class QueuesV1QueueFunctionalTest(base.QueuesTestBase):"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"    def test_queue_create_functional(self):"},{"line_number":275,"context_line":"        queue \u003d self.client.queue(\"nonono\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B4PM%3D","line":272,"updated":"2014-02-18 13:21:05.000000000","message":"Could you add some functional tests for claim too?","commit_id":"7c5a89a6e87bbd8e3ec477b3bd7aebc46029aa99"}],"tests/unit/queues/v1/test_claims.py":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"b2c471c53c469619b374456ae15a2b90eb4148c7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) Rackspace Hosting."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAVn%2F%2FhS8%3D","line":1,"updated":"2014-03-05 16:19:58.000000000","message":"Seems we need a year at here. But it\u0027s not a blocker for me.","commit_id":"a0b4feb488733b033facbc2bbd19726dbe56ef87"}]}
