)]}'
{"nova/db/api.py":[{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"e70414499885b7906f1c176afde5ecab34d908dc","unresolved":false,"context_lines":[{"line_number":1160,"context_line":""},{"line_number":1161,"context_line":"def quota_destroy_all_by_project_and_user(context, project_id, user_id):"},{"line_number":1162,"context_line":"    \"\"\"Destroy all quotas, usage and reservations associated with a given"},{"line_number":1163,"context_line":"    project and user.\"\"\""},{"line_number":1164,"context_line":"    return IMPL.quota_destroy_all_by_project_and_user(context,"},{"line_number":1165,"context_line":"                                                      project_id, user_id)"},{"line_number":1166,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_23cf0fb2","line":1163,"updated":"2015-03-11 15:55:30.000000000","message":"H403  multi line docstrings should end on a new line","commit_id":"7f9f263846f3aa4c234c2d51f8b732c87b2bfcf5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"e70414499885b7906f1c176afde5ecab34d908dc","unresolved":false,"context_lines":[{"line_number":1167,"context_line":""},{"line_number":1168,"context_line":"def quota_destroy_all_by_project(context, project_id):"},{"line_number":1169,"context_line":"    \"\"\"Destroy all quotas, usage and reservations associated with a given"},{"line_number":1170,"context_line":"    project.\"\"\""},{"line_number":1171,"context_line":"    return IMPL.quota_destroy_all_by_project(context, project_id)"},{"line_number":1172,"context_line":""},{"line_number":1173,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_43c3238a","line":1170,"updated":"2015-03-11 15:55:30.000000000","message":"H403  multi line docstrings should end on a new line","commit_id":"7f9f263846f3aa4c234c2d51f8b732c87b2bfcf5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"acb8b3c280facfe86ed73c3dc7cd6c1c9e1d9bae","unresolved":false,"context_lines":[{"line_number":1173,"context_line":"    return IMPL.quota_destroy_all_by_project(context, project_id)"},{"line_number":1174,"context_line":""},{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"def quota_destroy_by_project_and_user(context, project_id, user_id):"},{"line_number":1177,"context_line":"    \"\"\"Destroy all quotas associated with a given project and user.\"\"\""},{"line_number":1178,"context_line":"    return IMPL.quota_destroy_by_project_and_user(context,"},{"line_number":1179,"context_line":"                                                      project_id, user_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_dc30e0ea","line":1176,"range":{"start_line":1176,"start_character":17,"end_line":1176,"end_character":20},"updated":"2015-04-08 14:28:21.000000000","message":"This should include \"all\" like the other methods here, right?","commit_id":"710d716205b24dd5187b10fc868e81c7d3611b65"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4593a5cfa09e30ab19e7ee928d21c5f47dfebecd","unresolved":false,"context_lines":[{"line_number":1173,"context_line":"    return IMPL.quota_destroy_all_by_project(context, project_id)"},{"line_number":1174,"context_line":""},{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"def quota_destroy_by_project_and_user(context, project_id, user_id):"},{"line_number":1177,"context_line":"    \"\"\"Destroy all quotas associated with a given project and user.\"\"\""},{"line_number":1178,"context_line":"    return IMPL.quota_destroy_by_project_and_user(context,"},{"line_number":1179,"context_line":"                                                      project_id, user_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_15929b57","line":1176,"in_reply_to":"9aa53dc9_dc30e0ea","updated":"2015-04-08 17:07:24.000000000","message":"No, this one just destroys all quotas, not reservations or usage, thus the missing \"all\"","commit_id":"710d716205b24dd5187b10fc868e81c7d3611b65"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"acb8b3c280facfe86ed73c3dc7cd6c1c9e1d9bae","unresolved":false,"context_lines":[{"line_number":1176,"context_line":"def quota_destroy_by_project_and_user(context, project_id, user_id):"},{"line_number":1177,"context_line":"    \"\"\"Destroy all quotas associated with a given project and user.\"\"\""},{"line_number":1178,"context_line":"    return IMPL.quota_destroy_by_project_and_user(context,"},{"line_number":1179,"context_line":"                                                      project_id, user_id)"},{"line_number":1180,"context_line":""},{"line_number":1181,"context_line":""},{"line_number":1182,"context_line":"def quota_destroy_by_project(context, project_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_dc19007b","line":1179,"updated":"2015-04-08 14:28:21.000000000","message":"Alignment.","commit_id":"710d716205b24dd5187b10fc868e81c7d3611b65"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4593a5cfa09e30ab19e7ee928d21c5f47dfebecd","unresolved":false,"context_lines":[{"line_number":1176,"context_line":"def quota_destroy_by_project_and_user(context, project_id, user_id):"},{"line_number":1177,"context_line":"    \"\"\"Destroy all quotas associated with a given project and user.\"\"\""},{"line_number":1178,"context_line":"    return IMPL.quota_destroy_by_project_and_user(context,"},{"line_number":1179,"context_line":"                                                      project_id, user_id)"},{"line_number":1180,"context_line":""},{"line_number":1181,"context_line":""},{"line_number":1182,"context_line":"def quota_destroy_by_project(context, project_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_f504d7c0","line":1179,"in_reply_to":"9aa53dc9_dc19007b","updated":"2015-04-08 17:07:24.000000000","message":"Ooops, fixed.  :)","commit_id":"710d716205b24dd5187b10fc868e81c7d3611b65"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"4e02de232e3c0d423a91fc1a777c3bfd92652322","unresolved":false,"context_lines":[{"line_number":3560,"context_line":""},{"line_number":3561,"context_line":"def quota_destroy_by_project_and_user(*args, **kwargs):"},{"line_number":3562,"context_line":"    my_kwargs \u003d {\u0027only_quotas\u0027: True}"},{"line_number":3563,"context_line":"    my_kwargs.update(kwargs)"},{"line_number":3564,"context_line":"    quota_destroy_all_by_project_and_user(*args, **my_kwargs)"},{"line_number":3565,"context_line":""},{"line_number":3566,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_5f5bcff5","line":3563,"updated":"2015-03-18 12:17:19.000000000","message":"See below","commit_id":"742e359c5cdcf152ca749bf868cf58338212f8ea"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"4e02de232e3c0d423a91fc1a777c3bfd92652322","unresolved":false,"context_lines":[{"line_number":3592,"context_line":""},{"line_number":3593,"context_line":""},{"line_number":3594,"context_line":"def quota_destroy_by_project(*args, **kwargs):"},{"line_number":3595,"context_line":"    my_kwargs \u003d {\u0027only_quotas\u0027: True}"},{"line_number":3596,"context_line":"    my_kwargs.update(kwargs)"},{"line_number":3597,"context_line":"    quota_destroy_all_by_project(*args, **my_kwargs)"},{"line_number":3598,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_9f454717","line":3595,"updated":"2015-03-18 12:17:19.000000000","message":"Isn\u0027t here enough to simply add \u0027only_quotas\u0027 to kwargs like kwargs[\u0027only_quotas\u0027] \u003d True\n\nIf we do so, we can not create extra dict","commit_id":"742e359c5cdcf152ca749bf868cf58338212f8ea"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a140b1d6090c76cd5c808a2046866e70751fb39c","unresolved":false,"context_lines":[{"line_number":3592,"context_line":""},{"line_number":3593,"context_line":""},{"line_number":3594,"context_line":"def quota_destroy_by_project(*args, **kwargs):"},{"line_number":3595,"context_line":"    my_kwargs \u003d {\u0027only_quotas\u0027: True}"},{"line_number":3596,"context_line":"    my_kwargs.update(kwargs)"},{"line_number":3597,"context_line":"    quota_destroy_all_by_project(*args, **my_kwargs)"},{"line_number":3598,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_ffbba372","line":3595,"in_reply_to":"9a80dd14_9f454717","updated":"2015-03-18 12:26:30.000000000","message":"Yes, I was thinking of not changing function mutable arguments, but even though kwargs is a dictionary it\u0027s not an argument per se.\nThanks.","commit_id":"742e359c5cdcf152ca749bf868cf58338212f8ea"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"acb8b3c280facfe86ed73c3dc7cd6c1c9e1d9bae","unresolved":false,"context_lines":[{"line_number":3559,"context_line":""},{"line_number":3560,"context_line":""},{"line_number":3561,"context_line":"def quota_destroy_by_project_and_user(*args, **kwargs):"},{"line_number":3562,"context_line":"    quota_destroy_all_by_project_and_user(only_quotas\u003dTrue, *args, **kwargs)"},{"line_number":3563,"context_line":""},{"line_number":3564,"context_line":""},{"line_number":3565,"context_line":"@require_admin_context"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_7c6f94c5","line":3562,"updated":"2015-04-08 14:28:21.000000000","message":"Does this even work? Putting keyword arguments before positional ones should fail...","commit_id":"710d716205b24dd5187b10fc868e81c7d3611b65"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4593a5cfa09e30ab19e7ee928d21c5f47dfebecd","unresolved":false,"context_lines":[{"line_number":3559,"context_line":""},{"line_number":3560,"context_line":""},{"line_number":3561,"context_line":"def quota_destroy_by_project_and_user(*args, **kwargs):"},{"line_number":3562,"context_line":"    quota_destroy_all_by_project_and_user(only_quotas\u003dTrue, *args, **kwargs)"},{"line_number":3563,"context_line":""},{"line_number":3564,"context_line":""},{"line_number":3565,"context_line":"@require_admin_context"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_d5e1d39b","line":3562,"in_reply_to":"9aa53dc9_7c6f94c5","updated":"2015-04-08 17:07:24.000000000","message":"It doesn\u0027t fail, it\u0027s Python\u0027s syntax for what would look more logical to the programmer: `quota_destroy_all_by_project(*args, only_quotas\u003dTrue, **kwargs)` which isn\u0027t syntactically correct.\n*args and **kwargs go at the end. You can even use positional arguments as well `call_method(positional1, key1\u003dvalue1, *args, **kwargs)`","commit_id":"710d716205b24dd5187b10fc868e81c7d3611b65"}]}
