)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"e64bbf3054c705456b59aafa2bbdb6f64b390010","unresolved":false,"context_lines":[{"line_number":3427,"context_line":"@require_context"},{"line_number":3428,"context_line":"def security_group_rule_destroy(context, security_group_rule_id):"},{"line_number":3429,"context_line":"    session \u003d get_session()"},{"line_number":3430,"context_line":"    with session.begin():"},{"line_number":3431,"context_line":"        count \u003d _security_group_rule_get_query(context, session\u003dsession).\\"},{"line_number":3432,"context_line":"                        filter_by(id\u003dsecurity_group_rule_id).\\"},{"line_number":3433,"context_line":"                        soft_delete()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FrbI%3D","side":"PARENT","line":3430,"updated":"2013-06-12 22:25:46.000000000","message":"All the other changes remove the session param from public methods.  This change is different.  What is the motivation behind this change?","commit_id":"847996dcf633ffc463059a238ac55bcdcf5530ae"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"692f4c477cdc6caa3c1b49df40d98b3ba9302845","unresolved":false,"context_lines":[{"line_number":3427,"context_line":"@require_context"},{"line_number":3428,"context_line":"def security_group_rule_destroy(context, security_group_rule_id):"},{"line_number":3429,"context_line":"    session \u003d get_session()"},{"line_number":3430,"context_line":"    with session.begin():"},{"line_number":3431,"context_line":"        count \u003d _security_group_rule_get_query(context, session\u003dsession).\\"},{"line_number":3432,"context_line":"                        filter_by(id\u003dsecurity_group_rule_id).\\"},{"line_number":3433,"context_line":"                        soft_delete()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FnhA%3D","side":"PARENT","line":3430,"in_reply_to":"AAAAPX%2F%2FnrY%3D","updated":"2013-06-14 08:43:16.000000000","message":"agree with Eduard there is only one query","commit_id":"847996dcf633ffc463059a238ac55bcdcf5530ae"},{"author":{"_account_id":7727,"name":"Eduard Yuzlikeev","email":"eyuzlikeev@mirantis.com","username":"eyuzlikeev"},"change_message_id":"71adf880f331e30ca290528835a052089f51aab6","unresolved":false,"context_lines":[{"line_number":3427,"context_line":"@require_context"},{"line_number":3428,"context_line":"def security_group_rule_destroy(context, security_group_rule_id):"},{"line_number":3429,"context_line":"    session \u003d get_session()"},{"line_number":3430,"context_line":"    with session.begin():"},{"line_number":3431,"context_line":"        count \u003d _security_group_rule_get_query(context, session\u003dsession).\\"},{"line_number":3432,"context_line":"                        filter_by(id\u003dsecurity_group_rule_id).\\"},{"line_number":3433,"context_line":"                        soft_delete()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FnrY%3D","side":"PARENT","line":3430,"in_reply_to":"AAAAPX%2F%2FrbI%3D","updated":"2013-06-14 07:11:15.000000000","message":"There\u0027s no reason for an explicit transaction here.","commit_id":"847996dcf633ffc463059a238ac55bcdcf5530ae"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c7fb673d1be7f7b517616f1ca77b8a6dda047ce8","unresolved":false,"context_lines":[{"line_number":3418,"context_line":""},{"line_number":3419,"context_line":"@require_context"},{"line_number":3420,"context_line":"def security_group_rule_get(context, security_group_rule_id):"},{"line_number":3421,"context_line":"    result \u003d (_security_group_rule_get_query(context)."},{"line_number":3422,"context_line":"                         filter_by(id\u003dsecurity_group_rule_id)."},{"line_number":3423,"context_line":"                         first())"},{"line_number":3424,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FngY%3D","line":3421,"updated":"2013-06-14 08:45:19.000000000","message":"pls don\u0027t use \"()\"  because in the rest of file we are using .\\.\n\nbelow also","commit_id":"f458f68bb6d39583cf7aa7b6e10054cacfcb6717"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"6780fe9a98039580fc57740a27daccff6f38029f","unresolved":false,"context_lines":[{"line_number":3418,"context_line":""},{"line_number":3419,"context_line":"@require_context"},{"line_number":3420,"context_line":"def security_group_rule_get(context, security_group_rule_id):"},{"line_number":3421,"context_line":"    result \u003d (_security_group_rule_get_query(context)."},{"line_number":3422,"context_line":"                         filter_by(id\u003dsecurity_group_rule_id)."},{"line_number":3423,"context_line":"                         first())"},{"line_number":3424,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F7hA%3D","line":3421,"in_reply_to":"AAAAPX%2F%2FngY%3D","updated":"2013-06-18 00:30:28.000000000","message":"HACKING.rst says: \n\"- Long lines should be wrapped in parentheses\n  in preference to using a backslash for line continuation.\"\n\nthat being said, I prefer to automatically enforce style guidelines instead of manually enforcing it -- a task that takes up scarce human resources.","commit_id":"f458f68bb6d39583cf7aa7b6e10054cacfcb6717"}]}
