)]}'
{"keystone/config.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"1023503ab3c0f94e2b7d73c7f1eedf82b5590dd6","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    return conf.register_cli_opt(cfg.IntOpt(*args, **kw), group\u003dgroup)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"def register_opts():"},{"line_number":179,"context_line":"    register_cli_bool(\u0027standard-threads\u0027, default\u003dFalse)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    register_cli_str(\u0027pydev-debug-host\u0027, default\u003dNone)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8cY%3D","line":178,"updated":"2013-03-19 22:22:03.000000000","message":"wrapping all these into a function just means they can be wrapped in a readable try/except","commit_id":"93eaec7d32193dfe6ce8e97a29cd89cbe8f9c479"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"1023503ab3c0f94e2b7d73c7f1eedf82b5590dd6","unresolved":false,"context_lines":[{"line_number":354,"context_line":"try:"},{"line_number":355,"context_line":"    CONF.register_cli_opts(COMMON_CLI_OPTS)"},{"line_number":356,"context_line":"    CONF.register_cli_opts(LOGGING_CLI_OPTS)"},{"line_number":357,"context_line":"    register_opts()"},{"line_number":358,"context_line":"except cfg.ArgsAlreadyParsedError as e:"},{"line_number":359,"context_line":"    # this is actually a dirty hack to provide support for"},{"line_number":360,"context_line":"    # keystone.middleware.auth_token; if the module has been removed from"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8cI%3D","line":357,"updated":"2013-03-19 22:22:03.000000000","message":"this preserves the same order of register_*() as before","commit_id":"93eaec7d32193dfe6ce8e97a29cd89cbe8f9c479"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2d242aa0d4abe9e808b4849b32b18acdf57ed50a","unresolved":false,"context_lines":[{"line_number":358,"context_line":"except cfg.ArgsAlreadyParsedError as e:"},{"line_number":359,"context_line":"    # this is actually a dirty hack to provide support for"},{"line_number":360,"context_line":"    # keystone.middleware.auth_token; if the module has been removed from"},{"line_number":361,"context_line":"    # keystone, then this try/except can be removed"},{"line_number":362,"context_line":"    LOG.warning("},{"line_number":363,"context_line":"        \u0027%s; this may be caused by using keystone.middleware.auth_token \u0027"},{"line_number":364,"context_line":"        \u0027(deprecated) instead of keystoneclient.middleware.auth_token\u0027 % e)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8b4%3D","line":361,"updated":"2013-03-19 22:57:41.000000000","message":"This is just terrible. Please let\u0027s not do this","commit_id":"93eaec7d32193dfe6ce8e97a29cd89cbe8f9c479"}],"keystone/exception.py":[{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"c80e9a53678c66adf01ca13b9e6a66e974f35296","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    \"\"\" Authentication plugin error. \"\"\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":121,"context_line":"        super(AuthPluginException).__init__(*args, **kwargs)"},{"line_number":122,"context_line":"        self.authentication \u003d {}"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8So%3D","line":121,"updated":"2013-03-20 00:03:46.000000000","message":"super(AuthPluginException, self).__init__(*args, **kwargs)","commit_id":"93eaec7d32193dfe6ce8e97a29cd89cbe8f9c479"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"c80e9a53678c66adf01ca13b9e6a66e974f35296","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    \"\"\" Attempted to authenticate with an unsupported method. \"\"\""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":129,"context_line":"        super(AuthMethodNotSupported).__init__(*args, **kwargs)"},{"line_number":130,"context_line":"        self.authentication \u003d {\u0027methods\u0027: CONF.auth.methods}"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8Sw%3D","line":129,"updated":"2013-03-20 00:03:46.000000000","message":"super(AuthMethodNotSupported, self).__init__(*args, **kwargs)","commit_id":"93eaec7d32193dfe6ce8e97a29cd89cbe8f9c479"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"1023503ab3c0f94e2b7d73c7f1eedf82b5590dd6","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":129,"context_line":"        super(AuthMethodNotSupported).__init__(*args, **kwargs)"},{"line_number":130,"context_line":"        self.authentication \u003d {\u0027methods\u0027: CONF.auth.methods}"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"class AdditionalAuthRequired(AuthPluginException):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F8cs%3D","line":130,"updated":"2013-03-19 22:22:03.000000000","message":"this was overriding a class attribute with an instance attribute, which is just a bit confusing, more more importantly: the class attribute was executed when the module was executed, not when the class was called; this was cusing CONF.auth.methods to be executed before keystone.config was executed (before CONF.auth.methods was available)... but only when you import keystone.middleware.auth_token directly (not when keystone is executed normally).","commit_id":"93eaec7d32193dfe6ce8e97a29cd89cbe8f9c479"}]}
