argparse: PEP8 formatting

pull/48/head
Delio Brignoli 2015-10-17 02:50:51 +02:00
rodzic 15da903277
commit 7472c8aa78
2 zmienionych plików z 13 dodań i 9 usunięć

Wyświetl plik

@ -5,9 +5,11 @@ Minimal and functional version of CPython's argparse module.
import sys import sys
from _collections import namedtuple from _collections import namedtuple
class _ArgError(BaseException): class _ArgError(BaseException):
pass pass
class _Arg: class _Arg:
def __init__(self, names, dest, action, nargs, const, default, help): def __init__(self, names, dest, action, nargs, const, default, help):
self.names = names self.names = names
@ -21,7 +23,7 @@ class _Arg:
def parse(self, optname, args): def parse(self, optname, args):
# parse args for this arg # parse args for this arg
if self.action == "store": if self.action == "store":
if self.nargs == None: if self.nargs is None:
if args: if args:
return args.pop(0) return args.pop(0)
else: else:
@ -60,6 +62,7 @@ class _Arg:
else: else:
assert False assert False
def _dest_from_optnames(opt_names): def _dest_from_optnames(opt_names):
dest = opt_names[0] dest = opt_names[0]
for name in opt_names: for name in opt_names:
@ -102,11 +105,12 @@ class ArgumentParser:
args = [dest] args = [dest]
list.append( list.append(
_Arg(args, dest, action, kwargs.get("nargs", None), _Arg(args, dest, action, kwargs.get("nargs", None),
const, default, kwargs.get("help", ""))) const, default, kwargs.get("help", "")))
def usage(self, full): def usage(self, full):
# print short usage # print short usage
print("usage: %s [-h]" % sys.argv[0], end="") print("usage: %s [-h]" % sys.argv[0], end="")
def render_arg(arg): def render_arg(arg):
if arg.action == "store": if arg.action == "store":
if arg.nargs is None: if arg.nargs is None:

Wyświetl plik

@ -11,24 +11,24 @@ parser = argparse.ArgumentParser()
parser.add_argument("-a", action="store_true") parser.add_argument("-a", action="store_true")
parser.add_argument("-b", default=123) parser.add_argument("-b", default=123)
args = parser.parse_args([]) args = parser.parse_args([])
assert args.a == False and args.b == 123 assert args.a is False and args.b == 123
args = parser.parse_args(["-a"]) args = parser.parse_args(["-a"])
assert args.a == True and args.b == 123 assert args.a is True and args.b == 123
args = parser.parse_args(["-b", "456"]) args = parser.parse_args(["-b", "456"])
assert args.a == False and args.b == "456" assert args.a is False and args.b == "456"
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("-a", "--a-opt", action="store_true") parser.add_argument("-a", "--a-opt", action="store_true")
parser.add_argument("-b", "--b-opt", default=123) parser.add_argument("-b", "--b-opt", default=123)
parser.add_argument("--c-opt", default="test") parser.add_argument("--c-opt", default="test")
args = parser.parse_args([]) args = parser.parse_args([])
assert args.a_opt == False and args.b_opt == 123 and args.c_opt == "test" assert args.a_opt is False and args.b_opt == 123 and args.c_opt == "test"
args = parser.parse_args(["--a-opt"]) args = parser.parse_args(["--a-opt"])
assert args.a_opt == True and args.b_opt == 123 and args.c_opt == "test" assert args.a_opt is True and args.b_opt == 123 and args.c_opt == "test"
args = parser.parse_args(["--b-opt", "456"]) args = parser.parse_args(["--b-opt", "456"])
assert args.a_opt == False and args.b_opt == "456" and args.c_opt == "test" assert args.a_opt is False and args.b_opt == "456" and args.c_opt == "test"
args = parser.parse_args(["--c-opt", "override"]) args = parser.parse_args(["--c-opt", "override"])
assert args.a_opt == False and args.b_opt == 123 and args.c_opt == "override" assert args.a_opt is False and args.b_opt == 123 and args.c_opt == "override"
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("files", nargs="+") parser.add_argument("files", nargs="+")