)]}'
{"tripleoclient/utils.py":[{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"a47c7c49dbebeed5e045743982c9299109a7ec53","unresolved":false,"context_lines":[{"line_number":1362,"context_line":"            f.write(data)"},{"line_number":1363,"context_line":"    except OSError as error:"},{"line_number":1364,"context_line":"        if error.errno !\u003d errno.EEXIST:"},{"line_number":1365,"context_line":"            msg \u003d _(\u0027The output file can not be \u0027"},{"line_number":1366,"context_line":"                    \u0027created\u0027) % path"},{"line_number":1367,"context_line":"            raise oscexc.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_a45fb572","line":1366,"range":{"start_line":1365,"start_character":11,"end_line":1366,"end_character":37},"updated":"2018-10-22 10:57:16.000000000","message":"You should pass down the original error message as well so that the user can read what happened.","commit_id":"0f038f5a5c1900295cb4182e1bf124f863703e79"}],"tripleoclient/v1/container_image.py":[{"author":{"_account_id":26343,"name":"Jose Luis Franco","email":"jfrancoa@redhat.com","username":"jfrancoa"},"change_message_id":"24668b5d22e749e1ddbf4da84f0dabf8fdbb156b","unresolved":false,"context_lines":[{"line_number":445,"context_line":"        if parsed_args.output_env_file:"},{"line_number":446,"context_line":"            params \u003d prepare_data[parsed_args.output_env_file]"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"            if not os.path.exists(os.path.dirname(parsed_args.output_env_file)):"},{"line_number":449,"context_line":"                try:"},{"line_number":450,"context_line":"                    os.makedirs(os.path.dirname(parsed_args.output_env_file))"},{"line_number":451,"context_line":"                except OSError as error:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_ddf39809","line":448,"updated":"2018-08-09 12:29:29.000000000","message":"need to split out the line, too long (more than 79)","commit_id":"be7127959059c3ff3bbe3d7c191b37f6e41a4853"},{"author":{"_account_id":26343,"name":"Jose Luis Franco","email":"jfrancoa@redhat.com","username":"jfrancoa"},"change_message_id":"24668b5d22e749e1ddbf4da84f0dabf8fdbb156b","unresolved":false,"context_lines":[{"line_number":467,"context_line":""},{"line_number":468,"context_line":"        if parsed_args.output_images_file:"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"            if not os.path.exists(os.path.dirname(parsed_args.output_images_file)):"},{"line_number":471,"context_line":"                try:"},{"line_number":472,"context_line":"                    os.makedirs(os.path.dirname(parsed_args.output_image_file))"},{"line_number":473,"context_line":"                except OSError as error:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_fdf694f9","line":470,"updated":"2018-08-09 12:29:29.000000000","message":"need to split out the line, too long (more than 79)","commit_id":"be7127959059c3ff3bbe3d7c191b37f6e41a4853"},{"author":{"_account_id":26343,"name":"Jose Luis Franco","email":"jfrancoa@redhat.com","username":"jfrancoa"},"change_message_id":"24668b5d22e749e1ddbf4da84f0dabf8fdbb156b","unresolved":false,"context_lines":[{"line_number":558,"context_line":"        self.app.stdout.write(env_data)"},{"line_number":559,"context_line":"        if parsed_args.output_env_file:"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"            if not os.path.exists(os.path.dirname(parsed_args.output_env_file)):"},{"line_number":562,"context_line":"                try:"},{"line_number":563,"context_line":"                    os.makedirs(os.path.dirname(parsed_args.output_env_file))"},{"line_number":564,"context_line":"                except OSError as error:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_9ddd2072","line":561,"updated":"2018-08-09 12:29:29.000000000","message":"need to split out the line, too long (more than 79)","commit_id":"be7127959059c3ff3bbe3d7c191b37f6e41a4853"},{"author":{"_account_id":26343,"name":"Jose Luis Franco","email":"jfrancoa@redhat.com","username":"jfrancoa"},"change_message_id":"24668b5d22e749e1ddbf4da84f0dabf8fdbb156b","unresolved":false,"context_lines":[{"line_number":664,"context_line":"        env_data \u003d build_env_file(params, self.app.command_options)"},{"line_number":665,"context_line":"        if parsed_args.output_env_file:"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"            if not os.path.exists(os.path.dirname(parsed_args.output_env_file)):"},{"line_number":668,"context_line":"                try:"},{"line_number":669,"context_line":"                    os.makedirs(os.path.dirname(parsed_args.output_env_file))"},{"line_number":670,"context_line":"                except OSError as error:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_bdd81c7f","line":667,"updated":"2018-08-09 12:29:29.000000000","message":"need to split out the line, too long (more than 79)","commit_id":"be7127959059c3ff3bbe3d7c191b37f6e41a4853"},{"author":{"_account_id":8042,"name":"Jiří Stránský","email":"jistr@redhat.com","username":"jistr"},"change_message_id":"c9dc97d702a76404c034325f518acfe87328e571","unresolved":false,"context_lines":[{"line_number":448,"context_line":"            if not os.path.exists(os.path.dirname("},{"line_number":449,"context_line":"                                  parsed_args.output_env_file)):"},{"line_number":450,"context_line":"                try:"},{"line_number":451,"context_line":"                    os.makedirs(os.path.dirname(parsed_args.output_env_file))"},{"line_number":452,"context_line":"                except OSError as error:"},{"line_number":453,"context_line":"                    if error.errno !\u003d errno.EEXIST:"},{"line_number":454,"context_line":"                        msg \u003d _(\u0027Malformed --output-env-file\u003d(%s). \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_58de9d6d","line":451,"range":{"start_line":451,"start_character":20,"end_line":451,"end_character":77},"updated":"2018-08-10 07:51:19.000000000","message":"I\u0027m not sure if we should do this... I think majority of Linux commands would just fail here instead of doing `mkdir -p`. We probably want typoed paths to generate errors rather than create directories with typos.","commit_id":"1b067f99598817694e7f6b2ca46091427e1aa073"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"db14c44674b5214b35ba47948cca1e22cabf64f4","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                               \u0027w\u0027) as f:"},{"line_number":451,"context_line":"                    f.write(build_env_file(params, self.app.command_options))"},{"line_number":452,"context_line":"            except OSError as error:"},{"line_number":453,"context_line":"                if error.errno !\u003d errno.EEXIST:"},{"line_number":454,"context_line":"                    msg \u003d _(\u0027Malformed --output-env-file\u003d(%s). \u0027"},{"line_number":455,"context_line":"                            \u0027The output file can not be \u0027"},{"line_number":456,"context_line":"                            \u0027created\u0027) % parsed_args.output_env_file"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_42b20a08","line":453,"range":{"start_line":453,"start_character":34,"end_line":453,"end_character":47},"updated":"2018-08-23 14:02:27.000000000","message":"So when file exist we just overwrite it silently, right ?\n\nIf so, should we give a warning/log or something ?","commit_id":"f21134374583aae2b2a371ab2148879c27f29862"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"db14c44674b5214b35ba47948cca1e22cabf64f4","unresolved":false,"context_lines":[{"line_number":549,"context_line":"        env_data \u003d build_env_file(params, self.app.command_options)"},{"line_number":550,"context_line":"        self.app.stdout.write(env_data)"},{"line_number":551,"context_line":"        if parsed_args.output_env_file:"},{"line_number":552,"context_line":"            try:"},{"line_number":553,"context_line":"                with os.fdopen(os.open(parsed_args.output_env_file,"},{"line_number":554,"context_line":"                               os.O_CREAT | os.O_TRUNC | os.O_WRONLY, 0o666),"},{"line_number":555,"context_line":"                               \u0027w\u0027) as f:"},{"line_number":556,"context_line":"                    f.write(env_data)"},{"line_number":557,"context_line":"            except OSError as error:"},{"line_number":558,"context_line":"                if error.errno !\u003d errno.EEXIST:"},{"line_number":559,"context_line":"                    msg \u003d _(\u0027Malformed --output-env-file\u003d(%s). \u0027"},{"line_number":560,"context_line":"                            \u0027The output file can not be \u0027"},{"line_number":561,"context_line":"                            \u0027created\u0027) % parsed_args.output_env_file"},{"line_number":562,"context_line":"                    raise oscexc.CommandError(msg)"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"class TripleOImagePrepare(command.Command):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_a20afece","line":562,"range":{"start_line":552,"start_character":0,"end_line":562,"end_character":50},"updated":"2018-08-23 14:02:27.000000000","message":"Maybe this could refactored as a a function which takes the data to write as arg instead of the copy/paste we have here.\n\nSomething like \"utils.safe_write(path, data, err_msg)\"","commit_id":"f21134374583aae2b2a371ab2148879c27f29862"}]}
