Ejemplo n.º 1
0
 def get_multiple(cls, user_id, *keynames):
     result = dict((k, None) for k in keynames)
     with session() as s:
         flows = s.query(cls).filter(cls.user_id == user_id).filter(cls.keyname.in_(keynames))
     for flow in flows:
         result[flow.keyname] = simplejson.loads(flow.json)
     return result
Ejemplo n.º 2
0
 def get(cls, user_id, keyname):
     with session() as s:
         flow = s.query(cls).filter(cls.user_id == user_id).filter(cls.keyname == keyname).first()
     if flow:
         return simplejson.loads(flow.json)
     else:
         return None
Ejemplo n.º 3
0
 def new(cls, email, password):
     email = email.lower()
     salt = bytes(os.urandom(SALT_LEN))
     password = hashlib.sha1(salt + bytes(password)).hexdigest()
     with session() as s:
         obj = cls(email=email, password=password, salt=buffer(salt))
         s.add(obj)
     return obj
Ejemplo n.º 4
0
    def get_by_email_password(cls, email, password):
        with session() as s:
            user = s.query(Users).filter(Users.email == email).first()
            if user is None:
                raise NoSuchEmail

            hashed_pass = hashlib.sha1(bytes(user.salt) + bytes(password)).hexdigest()
            if hashed_pass != user.password:
                raise BadPassword
        return user
Ejemplo n.º 5
0
 def delete(cls, user_id, keyname):
     with session() as s:
         s.query(cls).filter(cls.user_id == user_id).filter(cls.keyname == keyname).delete()