From 14d7aee086003a4668d32ddeee22a2879087ee5b Mon Sep 17 00:00:00 2001 From: Tim Harder Date: Sat, 5 Dec 2015 13:32:30 -0500 Subject: commandline: StoreTarget now optionally accepts @pkgset arguments Mostly for certain cases where we don't want to accept such arguments. --- pkgcore/util/commandline.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgcore/util/commandline.py b/pkgcore/util/commandline.py index 2b1be7d06..10539f8da 100644 --- a/pkgcore/util/commandline.py +++ b/pkgcore/util/commandline.py @@ -88,14 +88,19 @@ class ExtendCommaDelimited(argparse._AppendAction): class StoreTarget(argparse._AppendAction): - """Parse extended package atom syntax and set arguments.""" + """Parse extended package atom syntax and optionally set arguments.""" + + def __init__(self, sets=True, *args, **kwargs): + super(StoreTarget, self).__init__(*args, **kwargs) + self.sets = sets def __call__(self, parser, namespace, values, option_string=None): - namespace.sets = [] + if self.sets: + namespace.sets = [] if isinstance(values, basestring): values = [values] for token in values: - if token.startswith('@'): + if self.sets and token.startswith('@'): namespace.sets.append(token[1:]) else: try: -- cgit v1.2.3-65-gdbad