def _main(parallelizer): parser = create_sdoc_args_parser() if parser.is_passthrough_command: config = parser.get_passthrough_config() input_file = config.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 = config.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(config) elif parser.is_export_command: config = parser.get_export_config(STRICTDOC_ROOT_PATH) parallelization_value = ( "Disabled" if config.no_parallelization else "Enabled" ) print("Parallelization: {}".format(parallelization_value), flush=True) export_action = ExportAction() export_action.export(config, parallelizer) else: raise NotImplementedError
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