def _turn(self, name, value): """ Turns a feature off. :param name: name of the feature. :param value: Value to turn name to. :raises: UnknownFeatureError """ if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) self.server.set(name, {'active': bool(value)})
def _turn(self, name, value): """ Turns a feature off. :param name: name of the feature. :param value: Value to turn name to. :raises: UnknownFeatureError """ # TODO: Copy paste --- :-( if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) self._store[name] = bool(value)
def _turn(self, name, value): """ Turns a feature on. :param name: name of the feature. :param value: 0 or 1 :raises: UnknownFeatureError """ if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) self._session.merge(Feature(name=name, active=value)) self._session.commit()
def _turn(self, name, value): """ Turns a feature on or off :param name: name of the feature. :raises: UnknownFeatureError """ if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) data = self._read_file() data[name]['active'] = bool(value) self._write_file(data)
def is_active(self, name): """ Checks if a feature is on. :param name: name of the feature. :rtype: bool :raises: UnknownFeatureError """ if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) feature = self._session.query(Feature).filter_by(name=name).first() return bool(feature.active)
def is_active(self, name): """ Checks if a feature is on. :param name: name of the feature. :rtype: bool :raises: UnknownFeatureError """ if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) if self._store[name]['active']: return True return False
def _turn(self, name, value): """ Turns a feature to value. :param name: name of the feature. :param value: Value to turn name to ("true"/"false"). :raises: UnknownFeatureError """ name = name.upper() if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) self._store[name] = value self._write_file()
def is_active(self, name): """ Checks if a feature is on. :param name: name of the feature. :rtype: bool :raises: UnknownFeatureError """ try: feature = FlagonFeature.objects.get(name=name) return feature.active except FlagonFeature.DoesNotExist: raise errors.UnknownFeatureError('Unknown feature: %s' % name)
def _turn(self, name, key, value): """ Turns a feature off. :param name: name of the feature. :param value: Value to turn name to. :raises: UnknownFeatureError """ # TODO: Copy paste --- :-( if not self._server.hexists(name, key): raise errors.UnknownFeatureError('Unknown feature: %s %s' % (name, key)) self._server.hset(name, key, value)
def is_active(self, name, key): """ Checks if a feature is on. :param name: name of the feature. :rtype: bool :raises: UnknownFeatureError """ if not self._server.hexists(name, key): raise errors.UnknownFeatureError('Unknown feature: %s' % name) if self._server.hget(name, key) == 'True': return True return False
def _turn(self, name, value): """ Turns a feature on or off :param name: name of the feature. :param value: Value to turn name to. :raises: UnknownFeatureError """ try: feature = FlagonFeature.objects.get(name=name) feature.active = bool(value) feature.save() except FlagonFeature.DoesNotExist: raise errors.UnknownFeatureError('Unknown feature: %s' % name)
def _turn(self, name, value): """ Turns a feature off. :param name: name of the feature. :param value: Value to turn name to. :raises: UnknownFeatureError """ ft = FeatureToggle.get_by_id(name) if ft is None: raise errors.UnknownFeatureError('Unknown feature: %s' % name) ft.active = bool(value) ft.put()
def is_active(self, name): """ Checks if a feature is on. :param name: name of the feature. :rtype: bool :raises: UnknownFeatureError """ ft = FeatureToggle.get_by_id(name) if ft is None: raise errors.UnknownFeatureError('Unknown feature: %s' % name) else: return ft.enabled
def _turn(self, name, value): """ Turns a feature off. :param name: name of the feature. :param value: Value to turn name to. :raises: UnknownFeatureError """ if not self.exists(name): raise errors.UnknownFeatureError('Unknown feature: %s' % name) instance = self._collection.find_one({'name': name}) self._collection.update({'_id': instance['_id']}, {'$set': { 'active': bool(value) }})
def __call__(self, name, default=None): """ What acts as a decorator. :param name: the name of the feature. :type name: str :param default: the default callable to fall back to. :type default: callable or None :rtype: callable """ if not self.backend.exists(name): self.logger.error('An unknown feature was requested: %s' % name) raise errors.UnknownFeatureError('Unknown feature: %s' % name) def deco(func): @wraps(func) def wrapper(*args, **kwargs): if self.backend.is_active(name): self.logger.debug('%s func=%s:%s(*%s, **%s)' % (name, inspect.getabsfile(func), func.__name__, args, kwargs)) return func(*args, **kwargs) if default: self.logger.warn('Disabled featured %s was requested.' ' Using default.' % name) if logging.getLevelName(self.logger.level) == 'DEBUG': self.logger.debug('%s default=%s:%s(*%s, **%s)' % (name, inspect.getabsfile(default), default.__name__, args, kwargs)) return default(*args, **kwargs) else: self.logger.warn('Disabled featured %s was requested' % (name)) raise NameError("name '%s' is not enabled" % name) return wrapper return deco