def getOption(self, key): option = self.__getOptionOrNone(key) if option is None: raise libavg.Exception('Cannot find key %s in the settings' % key) return option
def addOption(self, option): if not isinstance(option, Option): raise TypeError('Must be an instance of Option') if self.__getOptionOrNone(option.key): raise libavg.Exception('Option %s has been already defined' % option.key) self.__options.append(option)
def __call__(self, optionsList): optionsKeyset = set([option.key for option in optionsList]) kaKeyset = set(self.__optionsKargs.keys()) if not optionsKeyset.issuperset(kaKeyset): raise libavg.Exception('No such option/s: %s' % list(kaKeyset - optionsKeyset)) for option in optionsList: if option.key in self.__optionsKargs: option.value = self.__optionsKargs[option.key] return optionsList
def parsedArgs(self): if self.__parsedArgs is None: raise libavg.Exception( 'Cannot provide parsedArgs before applying the extender') return self.__parsedArgs