)]}'
{"ec2api/cmd/manage.py":[{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"732fd920305a8078902f50a4be85a90b69adcead","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    try:"},{"line_number":65,"context_line":"        config.parse_args(sys.argv)"},{"line_number":66,"context_line":"        log.setup(CONF, \"ec2api\")"},{"line_number":67,"context_line":"    except cfg.ConfigFilesNotFoundError as e:"},{"line_number":68,"context_line":"        cfg_files \u003d \", \".join(e.config_files)"},{"line_number":69,"context_line":"        print(_(\"Failed to read configuration file(s): %s\") % cfg_files)"},{"line_number":70,"context_line":"        sys.exit(2)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_743e53db","line":67,"updated":"2016-09-21 10:08:28.000000000","message":"What is the reason to handle this at all now?","commit_id":"a37daae7de9d6dee23ded19cc022f919c746659c"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"abf8bca41c5439b304f2a4894f0f264d25d6e65a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        log.setup(CONF, \"ec2api\")"},{"line_number":67,"context_line":"    except cfg.ConfigFilesNotFoundError as e:"},{"line_number":68,"context_line":"        cfg_files \u003d \", \".join(e.config_files)"},{"line_number":69,"context_line":"        print(_(\"Failed to read configuration file(s): %s\") % cfg_files)"},{"line_number":70,"context_line":"        sys.exit(2)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_56f1aacc","line":69,"updated":"2016-09-20 08:20:17.000000000","message":"please print exception message as well.","commit_id":"a37daae7de9d6dee23ded19cc022f919c746659c"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"abf8bca41c5439b304f2a4894f0f264d25d6e65a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    except cfg.ConfigFilesNotFoundError as e:"},{"line_number":68,"context_line":"        cfg_files \u003d \", \".join(e.config_files)"},{"line_number":69,"context_line":"        print(_(\"Failed to read configuration file(s): %s\") % cfg_files)"},{"line_number":70,"context_line":"        sys.exit(2)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    try:"},{"line_number":73,"context_line":"        CONF.command.func()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_96a092a7","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":16},"updated":"2016-09-20 08:20:17.000000000","message":"why \u0027exit\u0027 not \u0027return\u0027?","commit_id":"a37daae7de9d6dee23ded19cc022f919c746659c"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"7c2b4e334cadd484d44a6501b3a6b6c4dca79d68","unresolved":false,"context_lines":[{"line_number":62,"context_line":"def main():"},{"line_number":63,"context_line":"    CONF.register_cli_opt(command_opt)"},{"line_number":64,"context_line":"    config.parse_args(sys.argv)"},{"line_number":65,"context_line":"    logging.set_defaults("},{"line_number":66,"context_line":"        default_log_levels\u003dlogging.get_default_log_levels() +"},{"line_number":67,"context_line":"        _EXTRA_DEFAULT_LOG_LEVELS)"},{"line_number":68,"context_line":"    logging.setup(CONF, \"ec2api\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_c2ca4b6e","line":67,"range":{"start_line":65,"start_character":4,"end_line":67,"end_character":34},"updated":"2016-10-18 13:16:28.000000000","message":"what is this?","commit_id":"5a9062cd36e976b13810592325cb949c340d6029"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"7c2b4e334cadd484d44a6501b3a6b6c4dca79d68","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    logging.set_defaults("},{"line_number":66,"context_line":"        default_log_levels\u003dlogging.get_default_log_levels() +"},{"line_number":67,"context_line":"        _EXTRA_DEFAULT_LOG_LEVELS)"},{"line_number":68,"context_line":"    logging.setup(CONF, \"ec2api\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    try:"},{"line_number":71,"context_line":"        CONF.command.func()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_42a55bb3","line":68,"range":{"start_line":68,"start_character":4,"end_line":68,"end_character":11},"updated":"2016-10-18 13:16:28.000000000","message":"revert module name","commit_id":"5a9062cd36e976b13810592325cb949c340d6029"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"e1dc596e810b129098e81ac0f28f3d8ddbbf90e4","unresolved":false,"context_lines":[{"line_number":63,"context_line":"def main():"},{"line_number":64,"context_line":"    CONF.register_cli_opt(command_opt)"},{"line_number":65,"context_line":"    try:"},{"line_number":66,"context_line":"        config.parse_args(sys.argv)"},{"line_number":67,"context_line":"        log.setup(CONF, \"ec2api\")"},{"line_number":68,"context_line":"    except cfg.ConfigFilesNotFoundError:"},{"line_number":69,"context_line":"        cfgfile \u003d CONF.config_file[-1] if CONF.config_file else None"},{"line_number":70,"context_line":"        if cfgfile and not os.access(cfgfile, os.R_OK):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_f64d3e73","side":"PARENT","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":33},"updated":"2016-10-24 08:31:53.000000000","message":"@vakati, i meant that we need to keep this block only, we do not need the try-except logic at all","commit_id":"41abc11f58b816bc922dfd82dde887e823f39e72"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"e1dc596e810b129098e81ac0f28f3d8ddbbf90e4","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from ec2api import config"},{"line_number":26,"context_line":"from ec2api.db import migration"},{"line_number":27,"context_line":"from ec2api.i18n import _"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_ea470e49","line":27,"updated":"2016-10-24 08:31:53.000000000","message":"remove this, _ is no used now, see pep8 logs","commit_id":"b4b6b2a71e281be9303d43537b3d6dd855f73002"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"e1dc596e810b129098e81ac0f28f3d8ddbbf90e4","unresolved":false,"context_lines":[{"line_number":62,"context_line":"def main():"},{"line_number":63,"context_line":"    CONF.register_cli_opt(command_opt)"},{"line_number":64,"context_line":"    config.parse_args(sys.argv)"},{"line_number":65,"context_line":"    log.set_defaults("},{"line_number":66,"context_line":"        default_log_levels\u003dlog.get_default_log_levels() +"},{"line_number":67,"context_line":"        _EXTRA_DEFAULT_LOG_LEVELS)"},{"line_number":68,"context_line":"    log.setup(CONF, \"ec2api\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_2a2ae67e","line":67,"range":{"start_line":65,"start_character":0,"end_line":67,"end_character":34},"updated":"2016-10-24 08:31:53.000000000","message":"So that just remove these lines.\n\nps. If these lines are added after we\u0027ve copied the source from Nova, we probably want to have them. You feel free to figure out when and why this has been added to Nova and propose a review linking to a corresponding review in Nova.\n\nIt\u0027s worth sometimes to synchronize common derived code to make similar things work similar within OpenStack.","commit_id":"b4b6b2a71e281be9303d43537b3d6dd855f73002"}]}
