_FEATURES = {} def import_features(config_dict): for feature, feature_val in config_dict.items(): if feature.startswith('FEATURE_'): feature_name = feature[8:] _FEATURES[feature_name] = globals()[feature_name] = FeatureNameValue(feature_name, feature_val) def get_features(): return {key: _FEATURES[key].value for key in _FEATURES} class FeatureNameValue(object): def __init__(self, name, value): self.value = value self.name = name def __str__(self): return '%s => %s' % (self.name, self.value) def __repr__(self): return str(self.value) def __cmp__(self, other): return self.value.__cmp__(other) def __nonzero__(self): return self.value.__nonzero__()