Beispiel #1
0
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
Beispiel #2
0
 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)
Beispiel #3
0
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
Beispiel #4
0
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)
Beispiel #5
0
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')
Beispiel #6
0
 def __init__(self, key):
     self.redis = application.get_redis_connection()
     self.key = key
     self._rv = None
Beispiel #7
0
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
Beispiel #8
0
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