示例#1
0
 def update_sn(token, sn):
     try:
         session.query(User).filter(User.token == token).update({User.sn: sn})
         session.commit()
     except InvalidRequestError:
         session.rollback()
     except Exception as e:
         print(e)
示例#2
0
 def get_patch_file(project, base, version, file_type):
     if file_type == 1:
         return session.query(Version.file_name).filter(
             Version.project == project,
             Version.version_code == version).first()
     return session.query(Version.file_name).filter(
         Version.project == project, Version.base_code == base,
         Version.version_code == version).first()
示例#3
0
 def update_intimacy(token, ftk, intimacy):
     try:
         session.query(Friend).filter(Friend.ftk == ftk,
                                      Friend.token == token).update(
                                          {Friend.intimacy: intimacy})
         session.commit()
     except InvalidRequestError:
         session.rollback()
示例#4
0
 async def update_token(old_token, new_token):
     try:
         session.query(Friend).filter(Friend.ftk == old_token).update(
             {Friend.ftk: new_token})
         session.query(Friend).filter(Friend.token == old_token).update(
             {Friend.token: new_token})
         session.commit()
     except InvalidRequestError:
         session.rollback()
示例#5
0
 def get_reg_user(number, password):
     user = session.query(User).filter(User.number == number, User.password == password).first()
     otk = ""
     if user is not None:
         otk = user.token
         user.token = Encode.generate_token()
         user.lt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
         session.query(User).filter(User.number == number).update({User.token: user.token, User.lt: user.lt})
         session.commit()
     return otk, user
示例#6
0
 def del_friend(token, ftk):
     try:
         session.query(Friend).filter(Friend.ftk == ftk,
                                      Friend.token == token).delete()
         session.query(Friend).filter(Friend.token == ftk,
                                      Friend.ftk == token).delete()
         session.commit()
     except InvalidRequestError:
         session.rollback()
         pass
示例#7
0
 def add_user(token, category):
     user = session.query(User).filter(User.token == token).first()
     if user is not None:
         return -1, user
     rt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
     user = User("", "", "", token, "", category, "", rt, rt)
     session.add(user)
     session.commit()
     user = session.query(User).filter(User.token == token).first()
     return 0, user
示例#8
0
 def update_user(token, name, image):
     user = None
     try:
         session.query(User).filter(User.token == token).update({User.name: name, User.image: image})
         session.commit()
         user = session.query(User).filter(User.token == token).first()
     except InvalidRequestError:
         session.rollback()
     except Exception as e:
         print(e)
     return user
示例#9
0
 def reg_user(number, password, category, dev_sn):
     user = session.query(User).filter(User.number == number).first()
     if user is not None:
         return -1, user
     rt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
     token = Encode.generate_token()
     user = User("", number, password, token, "", category, dev_sn, rt, rt)
     session.add(user)
     session.commit()
     user = session.query(User).filter(User.token == token).first()
     return 0, user
示例#10
0
 def get_friends(token):
     '''user_set1 = session.query(User).join(Friend, Friend.ftk == User.token).filter(Friend.token == token).all()
     user_set2 = session.query(User).join(Friend, Friend.token == User.token).filter(Friend.ftk == token).all()
     return user_set1 + user_set2'''
     return session.query(User.name, User.token, User.number, User.image, Friend.intimacy)\
         .join(Friend, Friend.ftk == User.token)\
         .filter(Friend.token == token).order_by(Friend.intimacy.desc()).all()
示例#11
0
 def add_friend(token, ftk):
     friend = session.query(Friend).filter(Friend.ftk == ftk,
                                           Friend.token == token).first()
     if friend is not None:
         return -1, friend
     my_category = session.query(User).filter(
         User.token == token).first().category
     if my_category == 2:
         count = session.query(func.count(
             Friend.id)).filter(Friend.token == token).scalar()
         if count > max_helpers:
             return -2, None
     user = session.query(User).filter(User.token == ftk).first()
     if user is None:
         return -3, None
     friend_category = user.category
     if friend_category == 2:
         count = session.query(func.count(Friend.id)).filter(
             Friend.ftk == ftk, Friend.category == 2).scalar()
         if count > max_helpers:
             return -2, None
     if my_category == 2 and friend_category == 2:
         return -4, None
     intimacy = 0
     if my_category == 1 and friend_category == 2:
         intimacy = 1
     adt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
     friend = Friend(token, ftk, friend_category, intimacy, adt)
     session.add(friend)
     friend = Friend(ftk, token, my_category, 0, adt)
     session.add(friend)
     session.commit()
     friend = session.query(Friend).filter(Friend.ftk == ftk,
                                           Friend.token == token).first()
     return 0, friend
示例#12
0
 def get_lasted_version(project):
     return session.query(Version).filter(
         Version.project == project).order_by(
             Version.version_code.desc()).first()
示例#13
0
 def get_friend_by_sn(token, sn_list):
     t_list = tuple([str(i) for i in sn_list.split(',')])
     return session.query(User).join(Friend, Friend.ftk == User.token)\
         .filter(Friend.token == token, User.sn.in_(t_list)).order_by(Friend.intimacy.desc()).all()
示例#14
0
 def get_projects():
     return session.query(Version.project).distinct().all()
示例#15
0
 def get_helpers(token):
     return session.query(User).join(Friend, Friend.ftk == User.token)\
         .filter(Friend.token == token, User.category == 2, User.number != "").all()
示例#16
0
 def get_newest_version():
     return session.query(Firmware).order_by(Firmware.adt.desc()).first()
示例#17
0
 def check_newest_version(file_name, version):
     return session.query(Firmware).filter(Firmware.file_name == file_name, Firmware.version == version).first()
示例#18
0
 def get_user(token):
     return session.query(User).filter(User.token == token).first()
示例#19
0
 def get_content(code):
     return session.query(Qrcode).filter(Qrcode.code == code).first()