def ParseCmdVal(spec_name, cmd_val): # type: (str, cmd_value__Argv) -> Tuple[args._Attributes, args.Reader] arg_r = args.Reader(cmd_val.argv, spids=cmd_val.arg_spids) arg_r.Next() # move past the builtin name spec = FLAG_SPEC[spec_name] return args.Parse(spec, arg_r), arg_r
def main(argv): arg_r = args.Reader(argv) arg_r.Next() # skip argv[0] arg = args.Parse(SPEC, arg_r) if not arg.f: stderr_line("readlink: -f must be passed") return 1 for path in arg_r.Rest(): res = libc.realpath(path) if res is None: return 1 print(res) return 0
def Parse(spec_name, arg_r): # type: (str, args.Reader) -> args._Attributes """Parse argv using a given FlagSpec.""" spec = FLAG_SPEC[spec_name] return args.Parse(spec, arg_r)
def Parse(self, arg_r): # type: (args.Reader) -> args._Attributes """For builtins to read args after we parse flags.""" return args.Parse(self, arg_r)