123456789101112131415161718192021222324252627282930313233343536373839404142 |
- def is_cmdfile_arg(arg):
- # type: (str) -> bool
- return arg.startswith('@')
- def cmdfile_path(arg):
- # type: (str) -> str
- return arg[1:]
- def read_from_command_file(arg):
- # type: (str) -> list[str]
- with open(arg) as afile:
- return afile.read().splitlines()
- def skip_markers(args):
- # type: (list[str]) -> list[str]
- res = []
- for arg in args:
- if arg == '--ya-start-command-file' or arg == '--ya-end-command-file':
- continue
- res.append(arg)
- return res
- def iter_args(
- args, # type: list[str]
- ):
- for arg in args:
- if not is_cmdfile_arg(arg):
- if arg == '--ya-start-command-file' or arg == '--ya-end-command-file':
- continue
- yield arg
- else:
- for cmdfile_arg in read_from_command_file(cmdfile_path(arg)):
- yield cmdfile_arg
- def get_args(args):
- # type: (list[str]) -> list[str]
- return list(iter_args(args))
|