def create_role(rolename=None): if not rolename: raise NameError('You must specify a rolename') redis = application.get_redis_connection() data = {'name': rolename} redis.set(schema.ROLES.format(rolename), json.dumps(data)) return True
def delay(*args, **kwargs): redis = application.get_redis_connection() qkey = settings.REDIS_QUEUE_KEY task_id = str(uuid.uuid4()) key = "{0}:{1}".format(qkey, task_id) s = pickle.dumps((f, key, args, kwargs)) redis.rpush(settings.REDIS_QUEUE_KEY, s) return DelayedResult(key)
def create_user(username=None, password=None, role=None, active=True): if not username or not password or not role: raise NameError('You must specify a username, password, and role') redis = application.get_redis_connection() data = { 'username': username, 'password': encrypt_password(password, settings.SECRET_KEY), 'role': role, 'active': active, } redis.set(schema.USERS.format(username), json.dumps(data)) return True
def queue_daemon(app, rv_ttl=settings.REDIS_QUEUE_KEY_TTL): redis = application.get_redis_connection() while True: msg = redis.blpop(settings.REDIS_QUEUE_KEY) print("Running task: {0}".format(msg)) func, key, args, kwargs = pickle.loads(msg[1]) try: rv = func(*args, **kwargs) except Exception, e: rv = e if rv is not None: redis.set(key, pickle.dumps(rv)) redis.expire(key, rv_ttl)
def toggle_user(username=None, active=None): if not username: raise NameError('You must specify a username') redis = application.get_redis_connection() user_data = redis.get(schema.USERS.format(username)) if user_data: user_data = json.loads(user_data) if active != None: user_data['active'] = active else: current_status = user_data['active'] if current_status: user_data['active'] = False else: user_data['active'] = True redis.set(schema.USERS.format(username), json.dumps(user_data)) if active: status = 'active' else: status = 'disabled' return True else: raise RuntimeError('User not found')
def __init__(self, key): self.redis = application.get_redis_connection() self.key = key self._rv = None
def delete_role(rolename=None): if not rolename: raise NameError('You must specify a rolename') redis = application.get_redis_connection() redis.delete(schema.ROLES.format(rolename)) return True
def delete_user(username=None): if not username: raise NameError('You must specify a username') redis = application.get_redis_connection() redis.delete(schema.USERS.format(username)) return True