Download model/PXDesignBench/ColabDesign/colabdesign/shared/parse_args.py from OneScience-Group/PXDesign: direct link, hf CLI and curl.
- Browser
- Download file 1.87 kB
-
https://huggingface.co/OneScience-Group/PXDesign/resolve/4d20b627a1ce9f2dceb4e542f169fbbfd298d458/model/PXDesignBench/ColabDesign/colabdesign/shared/parse_args.py
- Command line
-
hf download hf://OneScience-Group/PXDesign@4d20b627a1ce9f2dceb4e542f169fbbfd298d458/model/PXDesignBench/ColabDesign/colabdesign/shared/parse_args.py
-
curl -L -o parse_args.py https://huggingface.co/OneScience-Group/PXDesign/resolve/4d20b627a1ce9f2dceb4e542f169fbbfd298d458/model/PXDesignBench/ColabDesign/colabdesign/shared/parse_args.py
1.87 kB
| import sys, getopt | |
| # class for parsing arguments | |
| class parse_args: | |
| def __init__(self): | |
| self.long,self.short = [],[] | |
| self.info,self.help = [],[] | |
| def txt(self,help): | |
| self.help.append(["txt",help]) | |
| def add(self, arg, default, type, help=None): | |
| self.long.append(arg[0]) | |
| key = arg[0].replace("=","") | |
| self.info.append({"key":key, "type":type, | |
| "value":default, "arg":[f"--{key}"]}) | |
| if len(arg) == 2: | |
| self.short.append(arg[1]) | |
| s_key = arg[1].replace(":","") | |
| self.info[-1]["arg"].append(f"-{s_key}") | |
| if help is not None: | |
| self.help.append(["opt",[arg,help]]) | |
| def parse(self,argv): | |
| for opt, arg in getopt.getopt(argv,"".join(self.short),self.long)[0]: | |
| for x in self.info: | |
| if opt in x["arg"]: | |
| if x["type"] is None: x["value"] = (x["value"] == False) | |
| else: x["value"] = x["type"](arg) | |
| opts = {x["key"]:x["value"] for x in self.info} | |
| print(str(opts).replace(" ","")) | |
| return dict2obj(opts) | |
| def usage(self, err): | |
| for type,info in self.help: | |
| if type == "txt": print(info) | |
| if type == "opt": | |
| arg, helps = info | |
| help = helps[0] | |
| if len(arg) == 1: print("--%-15s : %s" % (arg[0],help)) | |
| if len(arg) == 2: print("--%-10s -%-3s : %s" % (arg[0],arg[1].replace(":",""),help)) | |
| for help in helps[1:]: print("%19s %s" % ("",help)) | |
| print(f"< {err} >") | |
| print(" "+"-"*(len(err)+2)) | |
| print(" \ ^__^ ") | |
| print(" \ (oo)\_______ ") | |
| print(" (__)\ )\/\ ") | |
| print(" ||----w | ") | |
| print(" || || ") | |
| sys.exit() | |
| class dict2obj(): | |
| def __init__(self, dictionary): | |
| for key in dictionary: | |
| setattr(self, key, dictionary[key]) |