Kaydet (Commit) 5ba92997 authored tarafından Anthony Sottile's avatar Anthony Sottile

StoreTrueImplies: too clever

üst 714a3628
...@@ -383,27 +383,16 @@ def fix_file(filename, args): ...@@ -383,27 +383,16 @@ def fix_file(filename, args):
return 0 return 0
class StoreTrueImplies(argparse.Action):
def __init__(self, option_strings, dest, implies, **kwargs):
self.implies = implies
kwargs.update(const=True, default=False, nargs=0)
super(StoreTrueImplies, self).__init__(option_strings, dest, **kwargs)
def __call__(self, parser, namespace, values, option_string=None):
assert hasattr(namespace, self.implies), self.implies
setattr(namespace, self.dest, self.const)
setattr(namespace, self.implies, self.const)
def main(argv=None): def main(argv=None):
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('filenames', nargs='*') parser.add_argument('filenames', nargs='*')
parser.add_argument('--py35-plus', action='store_true') parser.add_argument('--py35-plus', action='store_true')
parser.add_argument( parser.add_argument('--py36-plus', action='store_true')
'--py36-plus', action=StoreTrueImplies, implies='py35_plus',
)
args = parser.parse_args(argv) args = parser.parse_args(argv)
if args.py36_plus:
args.py35_plus = True
ret = 0 ret = 0
for filename in args.filenames: for filename in args.filenames:
ret |= fix_file(filename, args) ret |= fix_file(filename, args)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment