MCPcopy
hub / github.com/pex-tool/pex / parse_args

Method parse_args

pex/bin/pex.py:783–811  ·  view source on GitHub ↗
(
        self,
        args=None,  # type: Optional[Sequence[str]]
        namespace=None,  # type: Optional[Namespace]
    )

Source from the content-addressed store, hash-verified

781 positional_option_name = attr.ib() # type: str
782
783 def parse_args(
784 self,
785 args=None, # type: Optional[Sequence[str]]
786 namespace=None, # type: Optional[Namespace]
787 ):
788 # type: (...) -> Namespace
789
790 options = self.parser.parse_args(args=args, namespace=namespace)
791
792 extra_args = []
793 positionals = []
794 for positional in getattr(options, self.positional_option_name):
795 if positional.startswith("@"):
796 with open(positional[1:]) as fp:
797 extra_args.extend(fp.read().splitlines())
798 else:
799 positionals.append(positional)
800 setattr(options, self.positional_option_name, positionals)
801
802 if extra_args:
803 extra_options = self.parser.parse_args(extra_args)
804 for name, value in vars(extra_options).items():
805 existing_value = getattr(options, name, None)
806 if isinstance(existing_value, list) and value:
807 existing_value.extend(value)
808 elif existing_value is None or value is not None:
809 setattr(options, name, value)
810
811 return options
812
813
814def configure_clp():

Callers 15

mainFunction · 0.80
build-docs.pyFile · 0.80
format.pyFile · 0.80
create-packages.pyFile · 0.80
lint.pyFile · 0.80
mainFunction · 0.80
mainFunction · 0.80
hashing.pyFile · 0.80
runMethod · 0.80

Calls 3

extendMethod · 0.80
appendMethod · 0.80
readMethod · 0.45

Tested by 12

test_clp_constraints_txtFunction · 0.64
test_clp_arg_fileFunction · 0.64
test_clp_preamble_fileFunction · 0.64
test_clp_prereleasesFunction · 0.64
test_clp_pex_optionsFunction · 0.64
parse_argsFunction · 0.64