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)
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()
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()
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()
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
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
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
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
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
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()
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
def get_lasted_version(project): return session.query(Version).filter( Version.project == project).order_by( Version.version_code.desc()).first()
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()
def get_projects(): return session.query(Version.project).distinct().all()
def get_helpers(token): return session.query(User).join(Friend, Friend.ftk == User.token)\ .filter(Friend.token == token, User.category == 2, User.number != "").all()
def get_newest_version(): return session.query(Firmware).order_by(Firmware.adt.desc()).first()
def check_newest_version(file_name, version): return session.query(Firmware).filter(Firmware.file_name == file_name, Firmware.version == version).first()
def get_user(token): return session.query(User).filter(User.token == token).first()
def get_content(code): return session.query(Qrcode).filter(Qrcode.code == code).first()