)]}'
{"requirements.txt":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"6d39bc20962768107af39f4862b4cb4b5b2da383","unresolved":false,"context_lines":[{"line_number":3,"context_line":"PrettyTable\u003e\u003d0.7,\u003c0.8"},{"line_number":4,"context_line":"requests\u003e\u003d1.2.1"},{"line_number":5,"context_line":"simplejson\u003e\u003d2.2.0"},{"line_number":6,"context_line":"python-keystoneclient\u003e\u003d0.9.0"},{"line_number":7,"context_line":"Babel\u003e\u003d1.3"},{"line_number":8,"context_line":"six\u003e\u003d1.7.0"}],"source_content_type":"text/plain","patch_set":12,"id":"9aa7fdbe_b2818891","line":6,"updated":"2014-10-21 08:23:13.000000000","message":"python-keystoneclient\u003e\u003d0.11.1","commit_id":"13adf502724f09be1addc50b7f723e5067352ada"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"519dfa9ec0fef2e81cdb9fab61ef683e4b7e7598","unresolved":false,"context_lines":[{"line_number":3,"context_line":"PrettyTable\u003e\u003d0.7,\u003c0.8"},{"line_number":4,"context_line":"requests\u003e\u003d1.2.1"},{"line_number":5,"context_line":"simplejson\u003e\u003d2.2.0"},{"line_number":6,"context_line":"python-keystoneclient\u003e\u003d0.9.0"},{"line_number":7,"context_line":"Babel\u003e\u003d1.3"},{"line_number":8,"context_line":"six\u003e\u003d1.7.0"}],"source_content_type":"text/plain","patch_set":12,"id":"9aa7fdbe_15ab07d7","line":6,"in_reply_to":"9aa7fdbe_b2818891","updated":"2014-10-21 21:31:56.000000000","message":"Done","commit_id":"13adf502724f09be1addc50b7f723e5067352ada"}],"troveclient/client.py":[{"author":{"_account_id":6162,"name":"Dan Nguyen","email":"dan.nguyens.mail@gmail.com","username":"daniel-a-nguyen"},"change_message_id":"9f88e5946031cd7487045dfc27eb9c27517e41e1","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    USER_AGENT \u003d \u0027python-troveclient\u0027"},{"line_number":71,"context_line":"    DEFAULT_DOMAIN_ID \u003d \"default\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def __init__(self, user, password, projectid, auth_url, insecure\u003dFalse,"},{"line_number":74,"context_line":"                 timeout\u003dNone, tenant_id\u003dNone, proxy_tenant_id\u003dNone,"},{"line_number":75,"context_line":"                 proxy_token\u003dNone, region_name\u003dNone,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_6eb248e6","line":72,"updated":"2014-10-17 04:44:49.000000000","message":"This should be configurable.","commit_id":"aedd7800375a5f6948ec3a52668e30a1e68dbf07"},{"author":{"_account_id":6162,"name":"Dan Nguyen","email":"dan.nguyens.mail@gmail.com","username":"daniel-a-nguyen"},"change_message_id":"9f88e5946031cd7487045dfc27eb9c27517e41e1","unresolved":false,"context_lines":[{"line_number":443,"context_line":"                        \"user\": {"},{"line_number":444,"context_line":"                            \"name\": self.user,"},{"line_number":445,"context_line":"                            \"domain\": {"},{"line_number":446,"context_line":"                                \"id\": self.DEFAULT_DOMAIN_ID"},{"line_number":447,"context_line":"                            },"},{"line_number":448,"context_line":"                            \"password\": self.password"},{"line_number":449,"context_line":"                        }"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_0ee0dccb","line":446,"updated":"2014-10-17 04:44:49.000000000","message":"This should not use a constant, but a real value or default.","commit_id":"aedd7800375a5f6948ec3a52668e30a1e68dbf07"},{"author":{"_account_id":6162,"name":"Dan Nguyen","email":"dan.nguyens.mail@gmail.com","username":"daniel-a-nguyen"},"change_message_id":"9f88e5946031cd7487045dfc27eb9c27517e41e1","unresolved":false,"context_lines":[{"line_number":457,"context_line":"                \"project\": {"},{"line_number":458,"context_line":"                    \"name\": self.projectid,"},{"line_number":459,"context_line":"                    \"domain\": {"},{"line_number":460,"context_line":"                        \"id\": self.DEFAULT_DOMAIN_ID"},{"line_number":461,"context_line":"                    }"},{"line_number":462,"context_line":"                }"},{"line_number":463,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_2ee3e0d9","line":460,"updated":"2014-10-17 04:44:49.000000000","message":"This should not use a constant, but a real value or default.","commit_id":"aedd7800375a5f6948ec3a52668e30a1e68dbf07"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"517839d3a7d11ca0dd37a96ec9b031c52923f2fc","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                 http_log_debug\u003dFalse, cacert\u003dNone, bypass_url\u003dNone,"},{"line_number":78,"context_line":"                 auth_system\u003d\u0027keystone\u0027, auth_plugin\u003dNone):"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        if auth_system and auth_system !\u003d \u0027keystone\u0027 and not auth_plugin:"},{"line_number":81,"context_line":"            raise exceptions.AuthSystemNotFound(auth_system)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if not auth_url and auth_system and auth_system !\u003d \u0027keystone\u0027:"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a890539_1ca6ea10","line":80,"updated":"2014-11-11 23:12:30.000000000","message":"don\u0027t need the \"if auth_system\" part, just\n\n  if auth_system !\u003d keystone and not auth_plugin","commit_id":"3c47a1855b7ee1345dadfb00ae90a6279b7c424e"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"517839d3a7d11ca0dd37a96ec9b031c52923f2fc","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            raise exceptions.AuthSystemNotFound(auth_system)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if not auth_url and auth_system and auth_system !\u003d \u0027keystone\u0027:"},{"line_number":84,"context_line":"            auth_url \u003d auth_plugin.get_auth_url()"},{"line_number":85,"context_line":"            if not auth_url:"},{"line_number":86,"context_line":"                raise exceptions.EndpointNotFound()"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5a890539_5c6872ba","line":84,"updated":"2014-11-11 23:12:30.000000000","message":"auth_plugin could be None","commit_id":"3c47a1855b7ee1345dadfb00ae90a6279b7c424e"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"074f8ff656e5f83565373930f30c34c627be3710","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            raise exceptions.AuthSystemNotFound(auth_system)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if not auth_url and auth_system and auth_system !\u003d \u0027keystone\u0027:"},{"line_number":84,"context_line":"            auth_url \u003d auth_plugin.get_auth_url()"},{"line_number":85,"context_line":"            if not auth_url:"},{"line_number":86,"context_line":"                raise exceptions.EndpointNotFound()"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5a890539_0d423210","line":84,"in_reply_to":"5a890539_5c6872ba","updated":"2014-11-11 23:59:27.000000000","message":"you\u0027ll technically never run into an issue, because such a condition would have triggered the AuthSystemNotFound exception above.","commit_id":"3c47a1855b7ee1345dadfb00ae90a6279b7c424e"}],"troveclient/shell.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"6d39bc20962768107af39f4862b4cb4b5b2da383","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                project_id \u003d args.os_project_id or args.os_tenant_id"},{"line_number":450,"context_line":"                project_name \u003d args.os_project_name or args.os_tenant_name"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"                keystone_session \u003d\\"},{"line_number":453,"context_line":"                    ks_session.Session.load_from_cli_options(args)"},{"line_number":454,"context_line":"                keystone_auth \u003d self._get_keystone_auth("},{"line_number":455,"context_line":"                    keystone_session,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aa7fdbe_8637e9e2","line":452,"updated":"2014-10-21 08:23:13.000000000","message":"please find more appropriate formatting for this peace of code.","commit_id":"13adf502724f09be1addc50b7f723e5067352ada"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"519dfa9ec0fef2e81cdb9fab61ef683e4b7e7598","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                project_id \u003d args.os_project_id or args.os_tenant_id"},{"line_number":450,"context_line":"                project_name \u003d args.os_project_name or args.os_tenant_name"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"                keystone_session \u003d\\"},{"line_number":453,"context_line":"                    ks_session.Session.load_from_cli_options(args)"},{"line_number":454,"context_line":"                keystone_auth \u003d self._get_keystone_auth("},{"line_number":455,"context_line":"                    keystone_session,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9aa7fdbe_95d7f722","line":452,"in_reply_to":"9aa7fdbe_8637e9e2","updated":"2014-10-21 21:31:56.000000000","message":"Done","commit_id":"13adf502724f09be1addc50b7f723e5067352ada"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"517839d3a7d11ca0dd37a96ec9b031c52923f2fc","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        ks_session.Session.register_cli_options(parser)"},{"line_number":185,"context_line":"        identity.Password.register_argparse_arguments(parser)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        parser.add_argument(\u0027--os-tenant-name\u0027,"},{"line_number":188,"context_line":"                            metavar\u003d\u0027\u003cauth-tenant-name\u003e\u0027,"},{"line_number":189,"context_line":"                            default\u003dutils.env(\u0027OS_TENANT_NAME\u0027),"},{"line_number":190,"context_line":"                            help\u003d\u0027Tenant to request authorization on. \u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a890539_b2009fab","line":187,"updated":"2014-11-11 23:12:30.000000000","message":"why are we registering these? I think the plugins register them.","commit_id":"3c47a1855b7ee1345dadfb00ae90a6279b7c424e"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"fec64a362843f60a30b79f29f57d3375ef7bfcb6","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        ks_session.Session.register_cli_options(parser)"},{"line_number":185,"context_line":"        identity.Password.register_argparse_arguments(parser)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        parser.add_argument(\u0027--os-tenant-name\u0027,"},{"line_number":188,"context_line":"                            metavar\u003d\u0027\u003cauth-tenant-name\u003e\u0027,"},{"line_number":189,"context_line":"                            default\u003dutils.env(\u0027OS_TENANT_NAME\u0027),"},{"line_number":190,"context_line":"                            help\u003d\u0027Tenant to request authorization on. \u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a890539_2dee0e89","line":187,"in_reply_to":"5a890539_b2009fab","updated":"2014-11-12 00:42:23.000000000","message":"As far as I am aware os-tenant-name, os-tenant-id still need to be explicitly registered. Unfortunately the plugins don\u0027t register them.","commit_id":"3c47a1855b7ee1345dadfb00ae90a6279b7c424e"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"517839d3a7d11ca0dd37a96ec9b031c52923f2fc","unresolved":false,"context_lines":[{"line_number":370,"context_line":"             args.database_service_name,"},{"line_number":371,"context_line":"             args.os_cacert, args.bypass_url, args.os_auth_system)"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        if os_auth_system and os_auth_system !\u003d \"keystone\":"},{"line_number":374,"context_line":"            auth_plugin \u003d troveclient.auth_plugin.load_plugin(os_auth_system)"},{"line_number":375,"context_line":"        else:"},{"line_number":376,"context_line":"            auth_plugin \u003d None"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a890539_f23147a3","line":373,"updated":"2014-11-11 23:12:30.000000000","message":"if os_auth_system !\u003d \"keystone\"","commit_id":"3c47a1855b7ee1345dadfb00ae90a6279b7c424e"}]}
