Exemple #1
0
 def addCookie(self, cookie, expires):
     db.execute(
         """
         insert into usercookie (userid, cookie, expires)
         values (:userid, :cookie, :expires)
         """,
         userid=self.id,
         cookie=cookie,
         expires=expires,
     )
Exemple #2
0
 def getAllUsers(cls):
     result = db.execute("""
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u order by u.id
         """)
     models = [User(**row) for row in result.fetchall()]
     return models
Exemple #3
0
 def getOnlineModels(cls):
     result = db.execute("""
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u where u.usertype = 'model' and u.status = 'online'
         """)
     models = [User(**row) for row in result.fetchall()]
     models = sorted(models, key=attrgetter('score', 'name'))
     return models
Exemple #4
0
 def save(self):
     result = db.execute(
         """
         update user set namecss=:namecss
         where id=:id
         """,
         **self.__dict__
     )
Exemple #5
0
 def getByName(cls, name):
     result = db.execute("""
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u where u.name = :name
         """, name=name)
     row = result.first()
     if not row:
         return None
     return User(**row)
Exemple #6
0
 def getAllUsers(cls):
     result = db.execute(
         """
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u order by u.id
         """
     )
     models = [User(**row) for row in result.fetchall()]
     return models
Exemple #7
0
 def getByCookie(cls, cookie):
     result = db.execute("""
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u inner join usercookie uc on uc.userid = u.id
         where uc.cookie = :cookie and uc.expires > datetime()
         """, cookie=cookie)
     row = result.first()
     if not row:
         return None
     return User(**row)
Exemple #8
0
 def getOnlineModels(cls):
     result = db.execute(
         """
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u where u.usertype = 'model' and u.status = 'online'
         """
     )
     models = [User(**row) for row in result.fetchall()]
     models = sorted(models, key=attrgetter("score", "name"))
     return models
Exemple #9
0
 def addUser(cls, name, password, namecss=None, usertype=None, status=None):
     result = db.execute("""
         insert into user (name, hash, namecss, usertype, status, created)
         values(:name, :hash, :namecss, :usertype, :status, datetime())
         """,
         name=name,
         hash=bcrypt.hashpw(password, bcrypt.gensalt()),
         namecss=namecss,
         usertype=usertype,
         status=status)
     return User.getByName(name)
Exemple #10
0
 def getByName(cls, name):
     result = db.execute(
         """
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u where u.name = :name
         """,
         name=name,
     )
     row = result.first()
     if not row:
         return None
     return User(**row)
Exemple #11
0
 def getByCookie(cls, cookie):
     result = db.execute(
         """
         select u.id, u.name, u.namecss, u.hash, u.created, u.lastlogin, u.status
         from user u inner join usercookie uc on uc.userid = u.id
         where uc.cookie = :cookie and uc.expires > datetime()
         """,
         cookie=cookie,
     )
     row = result.first()
     if not row:
         return None
     return User(**row)
Exemple #12
0
 def addUser(cls, name, password, namecss=None, usertype=None, status=None):
     result = db.execute(
         """
         insert into user (name, hash, namecss, usertype, status, created)
         values(:name, :hash, :namecss, :usertype, :status, datetime())
         """,
         name=name,
         hash=bcrypt.hashpw(password, bcrypt.gensalt()),
         namecss=namecss,
         usertype=usertype,
         status=status,
     )
     return User.getByName(name)
Exemple #13
0
 def addCookie(self, cookie, expires):
     db.execute("""
         insert into usercookie (userid, cookie, expires)
         values (:userid, :cookie, :expires)
         """, userid=self.id, cookie=cookie, expires=expires)
Exemple #14
0
 def save(self):
     result = db.execute("""
         update user set namecss=:namecss
         where id=:id
         """, **self.__dict__)