def main(): enable_parallelization = "--no-parallelization" not in sys.argv parallelizer = Parallelizer.create(enable_parallelization) parser = cli_args_parser() args = parser.parse_args() if args.command == "passthrough": input_file = args.input_file if not os.path.isfile(input_file): sys.stdout.flush() message = "error: passthrough command's input file does not exist" print("{}: {}".format(message, input_file)) sys.exit(1) output_file = args.output_file if output_file: output_dir = os.path.dirname(output_file) if not os.path.isdir(output_dir): print("not a directory: {}".format(output_file)) sys.exit(1) passthrough_action = PassthroughAction() passthrough_action.passthrough(input_file, output_file) elif args.command == "export": parallelization_value = ("Enabled" if enable_parallelization else "Disabled") print("Parallelization: {}".format(parallelization_value), flush=True) export_controller = ExportAction(STRICTDOC_ROOT_PATH, parallelizer) export_controller.export(args.input_paths, args.output_dir, args.formats, args.fields) else: raise NotImplementedError
def test_passthrough_01_minimal(): parser = cli_args_parser() args = parser.parse_args(['passthrough', 'input.sdoc']) assert args._get_kwargs() == [('command', 'passthrough'), ('input_file', 'input.sdoc'), ('output_file', None)]
def test_passthrough_01_minimal(): parser = cli_args_parser() args = parser.parse_args(["passthrough", "input.sdoc"]) assert args._get_kwargs() == [ ("command", "passthrough"), ("input_file", "input.sdoc"), ("output_file", None), ]
def test_export_01_minimal(): parser = cli_args_parser() args = parser.parse_args(['export', 'docs']) assert args.command == 'export' assert args.input_paths == ['docs'] assert args._get_kwargs() == [('command', 'export'), ('formats', ['html']), ('input_paths', ['docs']), ('no_parallelization', False), ('output_dir', None)]
def test_export_04_export_format_rst(): parser = cli_args_parser() args = parser.parse_args(["export", "--formats=rst", "docs"]) assert len(args._get_kwargs()) == 6 assert args.command == "export" assert args.fields == ["uid", "statement", "parent"] assert args.formats == ["rst"] assert args.input_paths == ["docs"] assert args.no_parallelization is False assert args.output_dir is None
def test_export_03_parallelization(): parser = cli_args_parser() args = parser.parse_args(["export", "docs", "--no-parallelization"]) assert len(args._get_kwargs()) == 6 assert args.command == "export" assert args.fields == ["uid", "statement", "parent"] assert args.formats == ["html"] assert args.input_paths == ["docs"] assert args.no_parallelization is True assert args.output_dir is None
def test_export_02_output_dir(): parser = cli_args_parser() args = parser.parse_args( ["export", "docs", "--output-dir", "custom-output-dir"]) assert len(args._get_kwargs()) == 6 assert args.command == "export" assert args.input_paths == ["docs"] assert args.fields == ["uid", "statement", "parent"] assert args.formats == ["html"] assert args.no_parallelization is False assert args.output_dir == "custom-output-dir"
def test_export_00_strictdoc_root_path(): parser = cli_args_parser() args = parser.parse_args(["export", "docs"]) assert len(args._get_kwargs()) == TOTAL_EXPORT_ARGS assert args.command == "export" assert args.fields == ["uid", "statement", "parent"] assert args.formats == ["html"] assert args.input_paths == ["docs"] assert args.no_parallelization is False assert args.output_dir is None config_parser = create_sdoc_args_parser(args) export_config = config_parser.get_export_config(FAKE_STRICTDOC_ROOT_PATH) assert export_config.strictdoc_root_path == FAKE_STRICTDOC_ROOT_PATH
def test_export_06_export_format_multiple(): parser = cli_args_parser() args = parser.parse_args( ["export", "--experimental-enable-file-traceability", "docs"]) assert args.command == "export" assert args.input_paths == ["docs"] assert len(args._get_kwargs()) == TOTAL_EXPORT_ARGS assert args.command == "export" assert args.experimental_enable_file_traceability is True config_parser = create_sdoc_args_parser(args) export_config = config_parser.get_export_config(FAKE_STRICTDOC_ROOT_PATH) assert export_config.fields == args.fields assert export_config.formats == args.formats assert export_config.input_paths == args.input_paths assert export_config.no_parallelization == args.no_parallelization assert export_config.output_dir == args.output_dir
def test_export_02_output_dir(): parser = cli_args_parser() args = parser.parse_args( ["export", "docs", "--output-dir", "custom-output-dir"]) assert len(args._get_kwargs()) == TOTAL_EXPORT_ARGS assert args.command == "export" assert args.input_paths == ["docs"] assert args.fields == ["uid", "statement", "parent"] assert args.formats == ["html"] assert args.no_parallelization is False assert args.output_dir == "custom-output-dir" config_parser = create_sdoc_args_parser(args) export_config = config_parser.get_export_config(FAKE_STRICTDOC_ROOT_PATH) assert export_config.fields == args.fields assert export_config.formats == args.formats assert export_config.input_paths == args.input_paths assert export_config.no_parallelization == args.no_parallelization assert export_config.output_dir == args.output_dir