)]}'
{"nova/tests/test_db_api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"23c855e9074a4a511cf7af7c3ecd4b7e76d28459","unresolved":false,"context_lines":[{"line_number":3966,"context_line":"        quota_db \u003d db.quota_get(self.ctxt, \u0027project1\u0027, \u0027resource\u0027)"},{"line_number":3967,"context_line":"        self._assertEqualObjects(quota, quota_db)"},{"line_number":3968,"context_line":""},{"line_number":3969,"context_line":"    def test_quota_get_all_by_project(self):"},{"line_number":3970,"context_line":"        quota1 \u003d db.quota_create(self.ctxt, \u0027project1\u0027, \u0027resource1\u0027, 99)"},{"line_number":3971,"context_line":"        quota2 \u003d db.quota_create(self.ctxt, \u0027project1\u0027, \u0027resource2\u0027, 98)"},{"line_number":3972,"context_line":"        quota3 \u003d db.quota_create(self.ctxt, \u0027project2\u0027, \u0027resource1\u0027, 99)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2FyIk%3D","line":3969,"updated":"2013-05-23 04:56:28.000000000","message":"could you pls make this test in more common way, for example if you have dict with keys \u0027project1\u0027, \u0027project2\u0027 and corresponding values, you will be able to call quota_create and asserts in loops","commit_id":"75c90a6707fed2392c6ede89534b739fcea9ea8e"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"2cad19aafa5015b491d20373ba72ea04df5a1550","unresolved":false,"context_lines":[{"line_number":3966,"context_line":"        quota_db \u003d db.quota_get(self.ctxt, \u0027project1\u0027, \u0027resource\u0027)"},{"line_number":3967,"context_line":"        self._assertEqualObjects(quota, quota_db)"},{"line_number":3968,"context_line":""},{"line_number":3969,"context_line":"    def test_quota_get_all_by_project(self):"},{"line_number":3970,"context_line":"        quota1 \u003d db.quota_create(self.ctxt, \u0027project1\u0027, \u0027resource1\u0027, 99)"},{"line_number":3971,"context_line":"        quota2 \u003d db.quota_create(self.ctxt, \u0027project1\u0027, \u0027resource2\u0027, 98)"},{"line_number":3972,"context_line":"        quota3 \u003d db.quota_create(self.ctxt, \u0027project2\u0027, \u0027resource1\u0027, 99)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2Fu3w%3D","line":3969,"in_reply_to":"AAAAPH%2F%2FyIk%3D","updated":"2013-05-24 09:58:22.000000000","message":"Done","commit_id":"75c90a6707fed2392c6ede89534b739fcea9ea8e"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"20b52cf677a38ff03bde4b3568139981e5989649","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    db.quota_reserve() for creating QuotaUsage objects."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Returns reservations uuids."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    \"\"\""},{"line_number":65,"context_line":"    def get_sync(resource, usage):"},{"line_number":66,"context_line":"        def sync(elevated, project_id, session):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2FpXs%3D","line":63,"updated":"2013-05-28 17:14:30.000000000","message":"excess newline","commit_id":"ac60644c6ab52a14c848a10d149660f18a9a1083"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"cdd9d3d2a6f2e08d4457c3b46534166126f5160d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    db.quota_reserve() for creating QuotaUsage objects."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Returns reservations uuids."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    \"\"\""},{"line_number":65,"context_line":"    def get_sync(resource, usage):"},{"line_number":66,"context_line":"        def sync(elevated, project_id, session):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2FmTs%3D","line":63,"in_reply_to":"AAAAPH%2F%2Fnjg%3D","updated":"2013-05-29 16:20:37.000000000","message":"As an Emacs user, I can attest that this is no longer necessary; Emacs\u0027 fill-paragraph command now properly deals with the closing triple-quote.","commit_id":"ac60644c6ab52a14c848a10d149660f18a9a1083"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"b4cb59dd23e968373963673bf83e9d14fe91f501","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    db.quota_reserve() for creating QuotaUsage objects."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Returns reservations uuids."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    \"\"\""},{"line_number":65,"context_line":"    def get_sync(resource, usage):"},{"line_number":66,"context_line":"        def sync(elevated, project_id, session):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2Fnjg%3D","line":63,"in_reply_to":"AAAAPH%2F%2FpXs%3D","updated":"2013-05-29 08:07:25.000000000","message":"pep 257:\n\nThe BDFL [3] recommends inserting a blank line between the last paragraph in a multi-line docstring and its closing quotes, placing the closing quotes on a line by themselves. This way, Emacs\u0027 fill-paragraph command can be used on it.","commit_id":"ac60644c6ab52a14c848a10d149660f18a9a1083"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"61cf60c6dda900552f1b512ebf33b21cb70bb61d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    db.quota_reserve() for creating QuotaUsage objects."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Returns reservations uuids."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    \"\"\""},{"line_number":65,"context_line":"    def get_sync(resource, usage):"},{"line_number":66,"context_line":"        def sync(elevated, project_id, session):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPH%2F%2FmTc%3D","line":63,"updated":"2013-05-29 16:25:07.000000000","message":"As pointed out in my inline comment on the earlier patch set, this blank line is not necessary.","commit_id":"0a7954d49f8c4d8a63fe1c118ca381f76f5ccdf9"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"61cf60c6dda900552f1b512ebf33b21cb70bb61d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        resources[resource] \u003d ReservableResource(resource,"},{"line_number":76,"context_line":"                            get_sync(resource, i), \u0027quota_res_%d\u0027 % i)"},{"line_number":77,"context_line":"        deltas[resource] \u003d i"},{"line_number":78,"context_line":"    return db.quota_reserve(context, resources, quotas, deltas,"},{"line_number":79,"context_line":"                    datetime.datetime.utcnow(), datetime.datetime.utcnow(),"},{"line_number":80,"context_line":"                    datetime.timedelta(days\u003d1), project_id)"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPH%2F%2FmTQ%3D","line":78,"updated":"2013-05-29 16:25:07.000000000","message":"I would personally prefer some extra vertical space in here, which I feel would enhance readability.  I would put it after the get_sync() definition, and before and after the for loop.  However, I don\u0027t feel strongly enough about it to hold this patch up :)","commit_id":"0a7954d49f8c4d8a63fe1c118ca381f76f5ccdf9"}]}
