def driver_parse_args( drv, argv ): shortopts = "" longopts = [] shortmap = {} for param in drv.params: p = drv.params[param] shortopts += p.id if p.param_type != 5: shortopts += ":" longopts.append (p.name + "=") else: longopts.append (p.name) shortmap[p.id] = p while True: opts, argv = my_getopt( argv, shortopts+"d:" ) if not opts: break for opt,optarg in opts: if opt.startswith("--"): pass elif opt.startswith("-"): p = shortmap[opt[1]] if p.param_type == 5: p.value = True else: p.value = optarg
def server_parse_ags( srv, argv ): shortopts = "" longopts = [] shortmap = {} driver = None for param in srv.params: p = srv.params[param] shortopts += p.id if p.param_type != 5: shortopts += ":" longopts.append (p.name + "=") else: longopts.append (p.name) shortmap[p.id] = p while not driver: opts, argv = my_getopt( argv, shortopts+"d:" ) if not opts: break for opt,optarg in opts: if opt == "-d": driver = srv.drivers[optarg] elif opt.startswith("--"): pass elif opt.startswith("-"): p = shortmap[opt[1]] if p.param_type == 5: p.value = True else: p.value = optarg return driver, argv