def take_action(self, action, dest, opt, value, values, parser): actup = self._addactions.get(action) if actup: actup[0](self, dest, opt, value, values, parser, actup[1], *actup[2:]) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == 'extend': split_value = value.split(',') ensure_value(qconfig, dest, []).extend(split_value) else: Option.take_action( self, action, dest, opt, value, qconfig, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": lvalue = value.split(",") values.ensure_value(dest, []).extend(lvalue) else: Option.take_action( self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "pubsub": # read the subscriber and publisher arguments value += " " for arg in parser.rargs: if arg[:2] == "--" and len(arg) > 2: break if arg[:1] == "-" and len(arg) > 1: break value += arg + " " subpubArray = [ x.strip() for x in value.split(",") if x.strip() ] # verify that argument meets requirements if len(subpubArray) == 2: values.ensure_value(dest, []).append({"name": subpubArray[0], "type": subpubArray[1]}) else: if opt == '-s': exitWithError(ERROR.SUBSCRIBER_MISSING, len(subpubArray)) if opt == '-p': exitWithError(ERROR.PUBLISHER_MISING, len(subpubArray)) elif action == "strspaces": # read the subscriber and publisher arguments for arg in parser.rargs: if arg[:2] == "--" and len( arg ) > 2: break if arg[:1] == "-" and len( arg ) > 1: break value += " " + arg setattr(values, dest, value ) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "map": values.ensure_value(dest, parser.map[opt.lstrip('-')]) elif action == "map_extend": values.ensure_value(dest, []).extend(parser.map[opt.lstrip('-')]) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): def exchangeValue(lvalue, dest, values): for idx, m in enumerate(lvalue): if m != "": vals = getattr(values, dest) vals[idx] = lvalue[idx] setattr(values, dest, vals) if action == "multistore": lvalue = value.split(",") if (len(lvalue) > 1 and len(lvalue) <= 2): exchangeValue(lvalue, dest, values) else: raise OptionValueError("option: %s to 2 values." % dest) elif action == "quatrostore": lvalue = value.split(",") if (len(lvalue) > 1 and len(lvalue) <= 4): exchangeValue(lvalue, dest, values) else: raise OptionValueError("option: %s to 2 values." % dest) elif action == "doublestore": lvalue = value.split(",") if (len(lvalue) == 2 and lvalue[0] != "" and lvalue[1] != ""): exchangeValue(lvalue, dest, values) else: raise OptionValueError( "option: %s necessary 2 values." % dest) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "pubsub": # read the subscriber and publisher arguments value += " " for arg in parser.rargs: if arg[:2] == "--" and len(arg) > 2: break if arg[:1] == "-" and len(arg) > 1: break value += arg + " " subpubArray = [ x.strip() for x in value.split(",") if x.strip() ] # verify that argument meets requirements if len(subpubArray) == 2: values.ensure_value(dest, []).append({"name": subpubArray[0], "type": subpubArray[1]}) else: if opt == '-s': exitWithError(ERROR_OPT.SUBSCRIBER_MISSING, len(subpubArray)) if opt == '-p': exitWithError(ERROR_OPT.PUBLISHER_MISING, len(subpubArray)) elif action == "strspaces": # read the subscriber and publisher arguments for arg in parser.rargs: if arg[:2] == "--" and len( arg ) > 2: break if arg[:1] == "-" and len( arg ) > 1: break value += " " + arg setattr(values, dest, value ) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == 'extend': split_value = value.split(',') ensure_value(qconfig, dest, []).extend(split_value) else: Option.take_action( self, action, dest, opt, value, qconfig, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "map": values.ensure_value(dest, parser.map[opt.lstrip('-')]) elif action == "map_extend": values.ensure_value(dest, []).extend(parser.map[opt.lstrip('-')]) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self,action,dest,opt,value,values,parser): log.debug('take_action: %s',action) if action in custom_actions: custom_actions.get(action)(dest,value,values) else: Option.take_action(self,action,dest,opt,value,values,parser) log.debug('values: %s',values)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": if not hasattr(self, '_extended'): self.__extended = False self.__count = 0 self.__count += 1 if self.__extended and self.__count > 4: values.ensure_value(dest, []).append(value) else: data = vars(values)[dest] temp = self.__SPLITREGEX.split(value) for item in temp: if self.__PRESSUREREGEX.search(item): data[0] = ':'.join( self.__PRESSUREREGEX.search(item).groups()) elif self.__TEMPERATUREREGEX.search(item): data[1] = ':'.join( self.__TEMPERATUREREGEX.search(item).groups()) elif self.__HUMIDITYREGEX.search(item): data[2] = ':'.join( self.__HUMIDITYREGEX.search(item).groups()) elif self.__DEWPOINTREGEX.search(item): data[3] = self.__DEWPOINTREGEX.sub(r'\1', item) values._update_careful({dest: data}) self.__extended = True else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": lvalue = value.split(",") values.ensure_value(dest, []).extend(lvalue) else: Option.take_action( self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): "Extended to handle generation a config file" if action == "generate_config": parser.generate_and_print_config_file() parser.exit() Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """ This function is a wrapper to take certain options passed on command prompt and wrap them into an Array. @param action: The type of action that will be taken. For example: "store_true", "store_false", "extend". @type action: String @param dest: The name of the variable that will be used to store the option. @type dest: String/Boolean/Array @param opt: The option string that triggered the action. @type opt: String @param value: The value of opt(option) if it takes a value, if not then None. @type value: @param values: All the opt(options) in a dictionary. @type values: Dictionary @param parser: The option parser that was orginally called. @type parser: OptionParser """ if (action == "extend") : value_list = [] try: for v in value.split(","): # Need to add code for dealing with paths if there is option for paths. new_value = value.strip().rstrip() if (len(new_value) > 0): value_list.append(new_value) except: pass else: values.ensure_value(dest, []).extend(value_list) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """overridden method to check the given options and split them.""" if action == "extend": lvalue = value.split(',') values.ensure_value(dest, []).extend(lvalue) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, val, vals, parser): if action == 'setitem': key = opt.strip('-') vals.ensure_value(dest, {})[key] = val elif action == 'setitem2': key, val = val vals.ensure_value(dest, {})[key] = val else: Opt.take_action(self, action, dest, opt, val, vals, parser)
def take_action(self, action, dest, opt, val, vals, parser): if action == 'setitem': key = opt.strip('-') vals.ensure_value(dest, {})[key] = val elif action == 'setitem2': key, val = val vals.ensure_value(dest, {})[key] = val else: Opt.take_action(self, action, dest, opt, val, vals, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": lvalue = value.split(",") for token in lvalue: token = token.strip() if token: values.ensure_value(dest, []).append(token) else: Option.take_action( self, action, dest, opt, value, values, parser)
def take_action(self,action,dest,opt,value,values,parser): if action=="dic": vals=value.split(",") d={} for val in vals: p=val.split("]") k=p[0][1:] v=p[1] d[k]=v setattr(values,dest,d) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """ Performs list extension on plugins """ if action == "extend": try: lvalue = value.split(",") except: pass else: values.ensure_value(dest, deque()).extend(lvalue) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": values.ensure_value(dest, []).append(value) for a in parser.rargs[:]: if a.startswith("-"): break else: values.ensure_value(dest, []).append(a) parser.rargs.remove(a) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": values.ensure_value(dest, []).append(value) else: Option.take_action( self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "dic": vals = value.split(",") d = {} for val in vals: p = val.split("]") k = p[0][1:] v = p[1] d[k] = v setattr(values, dest, d) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": values.ensure_value(dest, []).append(value) else: Option.take_action( self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "store_list": value = value.strip() lvalue = value.split(",") size = len(lvalue) if size > 0 and lvalue[size - 1] == "": lvalue.pop() values.ensure_value(dest, []).extend(lvalue) else: Option.take_action( self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """Uses 'store_const_once' or standard actions. """ if action == "store_const_once": # ----- store_const_once if not hasattr(values, dest) or not getattr(values, dest): setattr(values, dest, getattr(self, 'const')) else: raise OptionValueError("%r is invalid because '%s' previously occurs" \ % (getattr(self, 'const'), dest)) else: # ----- standard actions Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if (action == "extend"): valueList = [] try: for v in value.split(","): newValue = v.strip().rstrip() if (len(newValue) > 0): valueList.append(newValue) except: pass else: values.ensure_value(dest, []).extend(valueList) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if (action == "extend") : valueList = [] try: for v in value.split(","): newValue = v.strip().rstrip() if (len(newValue) > 0): valueList.append(newValue) except: pass else: values.ensure_value(dest, []).extend(valueList) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): ui = 'ui' if action == 'runtest': action = 'import' value = 'test' dest = 'ui' ui = '' if action == 'import': environ = {} exec("from shop import %s%s as module" % (value, ui), environ) setattr(values, dest, environ['module']) elif action == 'dir': setattr(values, dest, os.path.abspath(value)) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): ui = 'ui' if action == 'runtest': action = 'import' value = 'test' dest = 'ui' ui = '' if action == 'import': environ = {} exec("from shop import %s%s as module" % (value,ui), environ) setattr(values, dest, environ['module']) elif action == 'dir': setattr(values, dest, os.path.abspath(value)) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if (action == "extend") : valueList = [] try: for v in value.split(","): # Need to add code for dealing with paths if there is option for paths. newValue = value.strip().rstrip() if (len(newValue) > 0): valueList.append(newValue) except: pass else: values.ensure_value(dest, []).extend(valueList) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if (action == "extend") : valueList = [] try: for v in value.split(","): # Need to add code for dealing with paths if there is option for paths. newValue = value.strip().rstrip() if (len(newValue) > 0): valueList.append(newValue) except: pass else: values.ensure_value(dest, []).extend(valueList) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """Executes `action`""" if action == 'license': parser.print_license() parser.exit() elif action == 'copyright': parser.print_copyright() parser.exit() elif action == 'authors': parser.print_authors() parser.exit() elif action == 'print_fields': parser.print_fields() parser.exit() elif action == 'command': if hasattr(parser.values, 'command'): # raise error if two exlusive commands appeared msg = _('Please specify only one command option') raise OptionValueError(msg) values.command = opt.lstrip('-').replace('-', '_') values.command_values = value values.args = self.args else: return Option.take_action(self, action, dest, opt, value, values, parser) return True
def take_action(self, action, dest, opt, value, values, parser): """extended take_action""" orig_action = action # keep copy if action == 'shorthelp': parser.print_shorthelp() parser.exit() elif action in ('store_true', 'store_false', 'store_debuglog'): if action == 'store_debuglog': action = 'store_true' if opt.startswith("--%s-" % self.ENABLE): # keep action pass elif opt.startswith("--%s-" % self.DISABLE): # reverse action if action in ('store_true', 'store_debuglog'): action = 'store_false' elif action in ('store_false', ): action = 'store_true' if orig_action == 'store_debuglog' and action == 'store_true': setLogLevelDebug() Option.take_action(self, action, dest, opt, value, values, parser) elif action in self.EXTOPTION_EXTRA_OPTIONS: if action == "extend": # comma separated list convert in list lvalue = value.split(self.EXTEND_SEPARATOR) values.ensure_value(dest, []).extend(lvalue) elif action == "date": lvalue = date_parser(value) setattr(values, dest, lvalue) elif action == "datetime": lvalue = datetime_parser(value) setattr(values, dest, lvalue) else: raise (Exception( "Unknown extended option action %s (known: %s)" % (action, self.EXTOPTION_EXTRA_OPTIONS))) else: Option.take_action(self, action, dest, opt, value, values, parser) # set flag to mark as passed by action (ie not by default) # - distinguish from setting default value through option if hasattr(values, '_action_taken'): values._action_taken[dest] = True
def take_action(self, action, dest, opt, value, values, parser): if action == "extendResetDefault": if not hasattr(self, 'resetDefault'): self.resetDefault = set() if dest not in self.resetDefault: del values.ensure_value(dest, [])[:] self.resetDefault.add(dest) values.ensure_value(dest, []).extend(value) elif action == "appendResetDefault": if not hasattr(self, 'resetDefault'): self.resetDefault = set() if dest not in self.resetDefault: del values.ensure_value(dest, [])[:] self.resetDefault.add(dest) values.ensure_value(dest, []).append(value) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """Extended take_action""" orig_action = action # keep copy if action == 'shorthelp': parser.print_shorthelp() parser.exit() elif action in ('store_true', 'store_false',) + self.EXTOPTION_LOG: if action in self.EXTOPTION_LOG: action = 'store_true' if opt.startswith("--%s-" % self.ENABLE): # keep action pass elif opt.startswith("--%s-" % self.DISABLE): # reverse action if action in ('store_true',) + self.EXTOPTION_LOG: action = 'store_false' elif action in ('store_false',): action = 'store_true' if orig_action in('store_debuglog', 'store_infolog', 'store_warninglog') and action == 'store_true': setLogLevel(orig_action.split('_')[1][:-3].upper()) Option.take_action(self, action, dest, opt, value, values, parser) elif action in self.EXTOPTION_EXTRA_OPTIONS: if action == "extend": # comma separated list convert in list lvalue = value.split(self.EXTEND_SEPARATOR) values.ensure_value(dest, []).extend(lvalue) elif action == "date": lvalue = date_parser(value) setattr(values, dest, lvalue) elif action == "datetime": lvalue = datetime_parser(value) setattr(values, dest, lvalue) else: raise(Exception("Unknown extended option action %s (known: %s)" % (action, self.EXTOPTION_EXTRA_OPTIONS))) else: Option.take_action(self, action, dest, opt, value, values, parser) # set flag to mark as passed by action (ie not by default) # - distinguish from setting default value through option if hasattr(values, '_action_taken'): values._action_taken[dest] = True
def take_action(self, action, dest, opt, value, values, parser): if action == "load": infile = open(value) add_values = (self.convert_value(opt, line.rstrip()) for line in infile) values.ensure_value(dest, []).extend(add_values) elif action == "update": key = value[0] dict_value = self.convert_value(opt, [value[1]])[0] self._update(dest, key, dict_value, values) elif action == "update_const": self._update(dest, key, self.const, values) elif action == "update_true": self._update(dest, key, True, values) elif action == "update_false": self._update(dest, key, False, values) else: _Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extendResetDefault": if not hasattr(self, 'resetDefault'): self.resetDefault = set() if dest not in self.resetDefault: del values.ensure_value(dest, [])[:] self.resetDefault.add(dest) values.ensure_value(dest, []).extend(value) elif action == "appendResetDefault": if not hasattr(self, 'resetDefault'): self.resetDefault = set() if dest not in self.resetDefault: del values.ensure_value(dest, [])[:] self.resetDefault.add(dest) values.ensure_value(dest, []).append(value) else: Option.take_action( self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "store_hive": if not hasattr(values, dest) or getattr(values, dest) == None: if hasattr(self, "subopts_hive") and self.subopts_hive: hive = self.subopts_hive else: hive = parser.hive_class() setattr(values, dest, hive) for o in value.split(self.subsep or ","): oo = o.split('=') ok = oo[0] ov = None if (len(oo) > 1): ov = oo[1] if ok in self.subopt_map: self.subopt_map[ok].process(ok, ov, values, parser) else: getattr(values, dest).add(*oo) return Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "extend": if not hasattr(self,'_extended'): self.__extended=False self.__count=0 self.__count+=1 if self.__extended and self.__count>2: values.ensure_value(dest, []).append(value) else: data=vars(values)[dest] temp=self.__SPLITREGEX.split(value) for item in temp: if self.__HUMIDITYREGEX.search(item): data[0]=':'.join(self.__HUMIDITYREGEX.search(item).groups()) elif self.__DEWPOINTREGEX.search(item): data[1]=self.__DEWPOINTREGEX.sub(r'\1',item) values._update_careful({dest: data}) self.__extended=True else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "store_hive": if not hasattr(values, dest) or getattr(values, dest) == None: if hasattr(self, "subopts_hive") and self.subopts_hive: hive = self.subopts_hive else: hive = parser.hive_class() setattr(values, dest, hive) for o in value.split(self.subsep or ","): oo = o.split('=') ok = oo[0] ov = None if (len(oo) > 1): ov = oo[1] if ok in self.subopt_map: self.subopt_map[ok].process(ok, ov, values, parser) else: getattr(values, dest).add(*oo) return Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """Perform action. """ # Overridden to provide sample_config option and to handle # commalist as a list. log.debug("Running an action '%s' for option '%s', value '%s'.", action, opt, value) if action == "sample_config": log.debug("We'll print the sample config and exit.") print parser.sample_config() sys.exit(0) elif action == "load_config": log.debug("We'll read in the project's config file '%s'.", value) parser.read_project_configfile(value, values) elif action == "append" and self.type == "commalist": log.debug("We're a commalist and we have to append value '%s'.", value) log.debug("Ensuring that option '%s' exists.", dest) values.ensure_value(dest, []) original_value = getattr(values, dest) log.debug("Before adding, the option's value was '%s'.", original_value) if original_value == '': # Bloody hack, but can't figure out what's wrong. log.debug("Don't know why, but our list is an empty string. " "Resetting it to an empty list. (HACK).") setattr(values, dest, []) values.ensure_value(dest, []).extend(value) log.debug("After adding, the option's value is '%s'.", getattr(values, dest)) elif action == "deprecationwarning": log.warn("Option '%s' isn't in use anymore. Run ArchGenXML with " "--sample-config or --help for assistance. At the end of " "--help you can see what you should use instead.", opt) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): """Perform action. """ # Overridden to provide sample_config option and to handle # commalist as a list. log.debug("Running an action '%s' for option '%s', value '%s'.", action, opt, value) if action == "sample_config": log.debug("We'll print the sample config and exit.") print parser.sample_config() sys.exit(0) elif action == "load_config": log.debug("We'll read in the project's config file '%s'.", value) parser.read_project_configfile(value, values) elif action == "append" and self.type == "commalist": log.debug("We're a commalist and we have to append value '%s'.", value) log.debug("Ensuring that option '%s' exists.", dest) values.ensure_value(dest, []) original_value = getattr(values, dest) log.debug("Before adding, the option's value was '%s'.", original_value) if original_value == '': # Bloody hack, but can't figure out what's wrong. log.debug("Don't know why, but our list is an empty string. " "Resetting it to an empty list. (HACK).") setattr(values, dest, []) values.ensure_value(dest, []).extend(value) log.debug("After adding, the option's value is '%s'.", getattr(values, dest)) elif action == "deprecationwarning": log.warn( "Option '%s' isn't in use anymore. Run ArchGenXML with " "--sample-config or --help for assistance. At the end of " "--help you can see what you should use instead.", opt) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action in ["store_true", "store_false"]: _value = (action == "store_true") ^ self.negate if value is not None and (self.nargs or self.oargs): _value = [_value] if isinstance(value, tuple): _value.extend(value) else: _value.append(value) setattr(values, dest, tuple(_value)) else: setattr(values, dest, _value) return 1 return Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == 'help2': raise HelpOptionFound() else: Option.take_action(action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == 'help2': raise HelpOptionFound() else: Option.take_action(action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): actup = self._addactions.get(action) if actup: actup[0](self, dest, opt, value, values, parser, actup[1], *actup[2:]) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == 'extend': lvalues = value.split(',') values.ensure_value(dest, []).extend(x.strip() for x in lvalues) else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == "longhelp": parser.print_longhelp() parser.exit() else: Option.take_action(self, action, dest, opt, value, values, parser)
def take_action(self, action, dest, opt, value, values, parser): if action == 'decrement': setattr(values, dest, values.ensure_value(dest, 0) - 1) else: Option.take_action(self, action, dest, opt, value, values, parser)