def __call__(self, config): if type(config) == str: cls, kwargs = config, {} elif type(config) == dict: cls, kwargs = list(config.items())[0] else: log.error("Config for "+__name__+" is not str or dict but"+str(config)) return getattr(self.wrapped, cls)(**kwargs)
def parse_metadata(metadata): result = {} if metadata: for entry in metadata: if entry.count(':') != 1: log.error('Metadata not in "key:value" format - ignoring') else: key, val = entry.split(':') result[key] = val return result