コード例 #1
0
def follower():
    auth = request.headers.get('Authorization')
    auth_user_id = Auth.identify(auth)

    # Authorization header不正确
    if auth_user_id is None:
        result = return_status(-2)
        return jsonify(result)

    # 获取用户
    user = User()
    user.set_user_id(auth_user_id)
    user_dao = UserDAO()
    try:
        retrieve_user = user_dao.retrieve(user)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 用户不存在
    if retrieve_user is None:
        result = return_status(-1)
        return jsonify(result)

    follower_dao = FollowerDAO()
    try:
        followers = follower_dao.retrieve(retrieve_user.get_user_id())
        results = return_follower(followers)
        return jsonify(results)
    except:
        result = return_status(-2)
        return jsonify(result)
コード例 #2
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def deleteUser(self, uid):
     dao = UserDAO ()
     if not dao.getUserById (uid):
         return jsonify (Error="User not found."), 404
     else:
         dao.delete (uid)
         return jsonify (DeleteStatus="OK"), 200
コード例 #3
0
 def getNumberMessagesByUserId(self, id):
     dao = UserDAO()
     result = dao.getNumberMessagesByUserId(id)
     if not result:
         return jsonify(Error="NOT FOUND"), 404
     else:
         return jsonify(NumberMessages=result)
コード例 #4
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
    def updateUser(self, userDic, userAddressDic):
        dao = UserDAO ()
        if not dao.getUserById (userDic['uid']):
            return jsonify (Error="Resource not found."), 404
        else:
            if len (userDic) != 4 & len (userAddressDic) != 7:
                return jsonify (Error="Malformed update request"), 400
            else:
                uid = userDic['uid']
                uname = userDic['uname']
                ulast = userDic['ulast']
                utype = userDic['utype']
                uaddress = userAddressDic['uaddress']
                ucity = userAddressDic['ucity']
                uregion = userAddressDic['uregion']
                uzip = userAddressDic['uzip']
                ustate = userAddressDic['ustate']
                loclat = userAddressDic['loclat']
                loclon = userAddressDic['loclon']

                if uid and uname and ulast and utype and uaddress and ucity and uregion and uzip and ustate and loclat and loclon:
                    uidout = dao.update (uid, uname, ulast, utype, uaddress, ucity, uregion, uzip, ustate, loclat, loclon)
                    result = self.build_alluserinfo_dict2 (uidout, uname, ulast, utype, uaddress, ucity, uregion, uzip,
                                                          ustate, loclat, loclon)
                    return jsonify (User=result), 201
                else:
                    return jsonify (Error="Unexpected attributes in put request"), 400
コード例 #5
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def getUserByState(self, ustate):
     dao = UserDAO ()
     user_list = dao.getUserByState (ustate)
     result_list = []
     for row in user_list:
         result = self.build_alluserinfo_dict (row)
         result_list.append (result)
     return jsonify (result_list)
コード例 #6
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def getUserByRegion(self, uregion):
     dao = UserDAO ()
     user_list = dao.getUserByRegion (uregion)
     result_list = []
     for row in user_list:
         result = self.build_alluserinfo_dict (row)
         result_list.append (result)
     return jsonify (result_list)
コード例 #7
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def getAllSuppliers(self):
     dao = UserDAO()
     suppliers_list = dao.getAllSuppliers()
     result_list = []
     for row in suppliers_list:
         result = self.build_alluserinfo_dict(row)
         result_list.append(result)
     return jsonify(Suppliers=result_list)
コード例 #8
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def getAllCustomers(self):
     dao = UserDAO()
     customers_list = dao.getAllCustomers()
     result_list = []
     for row in customers_list:
         result = self.build_alluserinfo_dict(row)
         result_list.append(result)
     return jsonify(Customers=result_list)
コード例 #9
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def getUserById(self, uid):
     dao = UserDAO()
     row = dao.getUserById(uid)
     if not row:
         return jsonify(Error="User Not Found"), 404
     else:
         result = self.build_alluserinfo_dict(row)
     return jsonify(result)
コード例 #10
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def getUserByLastname(self, ulast):
     dao = UserDAO ()
     user_list = dao.getUserByLastname (ulast)
     result_list = []
     if not user_list:
         return jsonify (Error="Customers Not Found"), 404
     else:
         result = self.build_alluserinfo_dict (user_list)
     return jsonify (result)
コード例 #11
0
 def getAllUsers(self):
     dao = UserDAO()
     result = dao.getAllUsers()
     if not result:
         return jsonify(Error="NOT FOUND"), 404
     mapped_result = []
     for r in result:
         mapped_result.append(self.mapToDict(r))
     return jsonify(Users=mapped_result)
コード例 #12
0
 def getAllChatsByUserId(self, id):
     dao = UserDAO()
     result = dao.getAllChatsByUserId(id)
     if not result:
         return jsonify(Error="NOT FOUND"), 404
     mapped_result = []
     for r in result:
         mapped_result.append(self.maptoChatDict(r))
     return jsonify(Chats=mapped_result)
コード例 #13
0
 def getInformationOfUserByUsername(self, uname):
     dao = UserDAO()
     result = dao.getInformationOfUserByUsername(uname)
     if not result:
         return jsonify(Error="NOT FOUND"), 404
     mapped_result = []
     for r in result:
         mapped_result.append(self.mapToDict2(r))
     return jsonify(UserInfo=mapped_result)
コード例 #14
0
def upload_homepage():
    auth = request.headers.get('Authorization')
    auth_user_id = Auth.identify(auth)

    # Authorization header不正确
    if auth_user_id is None:
        result = return_status(-2)
        return jsonify(result)

    # 获取用户
    user = User()
    user.set_user_id(auth_user_id)
    user_dao = UserDAO()
    try:
        retrieve_user = user_dao.retrieve(user)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 用户不存在
    if retrieve_user is None:
        result = return_status(-1)
        return jsonify(result)

    # 设置路径
    folder_path = 'background/' + str(auth_user_id)
    mkdir(folder_path)

    information = Information()
    path = folder_path + '/background.jpg'
    information.set_user_id(auth_user_id)
    information.set_background_photo(path)

    # 读取背景图片
    try:
        homepage = request.get_data()
        if homepage is None:
            return "上传的图片为空"
        with open(path, 'wb') as f:
            f.write(homepage)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 数据库修改
    information_dao = InformationDAO()
    try:
        result = information_dao.update_background_photo(information)
        if result is not None:
            result = return_homepage(result, path)
            return jsonify(result)
        else:
            result = return_status(-2)
            return jsonify(result)
    except:
        result = return_status(-2)
        return jsonify(result)
コード例 #15
0
def get_mylike():
    auth = request.headers.get('Authorization')
    auth_user_id = Auth.identify(auth)

    # Authorization header不正确
    if auth_user_id is None:
        result = return_status(-2)
        return jsonify(result)

    user_id = request.args.get('userid')
    if user_id is None:
        return "信息不完整"
    user_id = int(user_id)

    # 获取用户
    user = User()
    user.set_user_id(user_id)
    user_dao = UserDAO()
    try:
        retrieve_user = user_dao.retrieve(user)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 用户不存在
    if retrieve_user is None:
        result = return_status(-1)
        return jsonify(result)

    my_like_work_ids = user_dao.get_my_like(retrieve_user)

    my_like_works = WorkDAO().list(my_like_work_ids)

    start = request.args.get('start')
    if start is None:
        return "信息不完整"
    start = int(start)

    count = request.args.get('count')
    if count is None:
        return "信息不完整"
    count = int(count)

    type = request.args.get('type')
    if type is None:
        return "信息不完整"
    type = str(type)

    if type == 'home':
        result = return_home_my_like(my_like_works, start, count)
        return jsonify(result)
    if type == 'detail':
        result = return_detail_my_like(my_like_works, start, count)
        return jsonify(result)
    else:
        return "信息不正确"
コード例 #16
0
def modifyInformation():
    auth = request.headers.get('Authorization')
    auth_user_id = Auth.identify(auth)

    # Authorization header不正确
    if auth_user_id is None:
        result = return_status(-2)
        return jsonify(result)

    # 获取用户
    user = User()
    user.set_user_id(auth_user_id)
    user_dao = UserDAO()
    try:
        retrieve_user = user_dao.retrieve(user)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 用户不存在
    if retrieve_user is None:
        result = return_status(-1)
        return jsonify(result)

    information = Information()
    information.set_user_id(auth_user_id)

    data = request.get_json()
    if 'NickName' not in data:
        return "上传的信息不完整"
    nick_name = data['NickName']
    nick_name = str(nick_name)
    information.set_nick_name(nick_name)

    if 'Avatar' not in data:
        return "上传的信息不完整"
    avatar = data['Avatar']
    avatar = str(avatar)
    information.set_avatar(avatar)

    if 'Signature' not in data:
        return "上传的信息不完整"
    signature = data['Signature']
    signature = str(signature)
    information.set_signature(signature)

    if 'BackgroundPhoto' not in data:
        return "上传的信息不完整"
    background_photo = data['BackgroundPhoto']
    background_photo = str(background_photo)
    information.set_background_photo(background_photo)

    information_dao = InformationDAO()
    result = information_dao.update(information)
    result = return_status(result)
    return jsonify(result)
コード例 #17
0
 def getCredentials(self, form):
     if len(form) != 2:
         return jsonify(Error="Malformed post request"), 400
     username = form['username']
     password = form['password']
     if not username or not password:
         return jsonify(Error="Unexpected attributes in post request"), 400
     dao = UserDAO()
     result = dao.getCredentials(username, password)
     return jsonify(User=self.mapToDict3(result))
コード例 #18
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
 def getResourcesBySupplierId(self, uid):
     dao = UserDAO()
     if not dao.getResourcesBySupplierId(uid):
         return jsonify(Error="ResourcesBySupplier Not Found"), 404
     resources_list = dao.getResourcesBySupplierId(uid)
     result_list = []
     for row in resources_list:
         result = self.getResourceBySupllierIDdic(row)
         result_list.append(result)
     return jsonify(ResourcesBySupplier=result_list)
コード例 #19
0
    def getMessagesByUserId(self, id):
        dao = UserDAO()
        result = dao.getMessagesByUserId(id)
        r = []
        if not result:
            return jsonify(Error="NOT FOUND"), 404
        else:
            for m in result:
                r.append(self.maptoDicMessage(m))

            return jsonify(Messages=r)
コード例 #20
0
def get_myworks():
    auth = request.headers.get('Authorization')
    auth_user_id = Auth.identify(auth)

    # Authorization header不正确
    if auth_user_id is None:
        result = return_status(-2)
        return jsonify(result)

    user_id = request.args.get('userid')
    if user_id is None:
        return "信息不完整"

    # 获取用户
    user = User()
    user.set_user_id(user_id)
    user_dao = UserDAO()
    try:
        retrieve_user = user_dao.retrieve(user)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 用户不存在
    if retrieve_user is None:
        result = return_status(-1)
        return jsonify(result)

    type = request.args.get('type')
    if type is None:
        return "信息不完整"
    type = str(type)

    top = request.args.get('top')
    if top is None:
        return "信息不完整"
    top = str(top)

    work_dao = WorkDAO()
    works = work_dao.retrieve(user_id)
    if type == 'home':
        if top is 'true' or top is 'True':
            pass
        else:
            result = return_home(works)
            return jsonify(result)
    if type == 'detail':
        if top is 'true' or top is 'True':
            pass
        else:
            result = return_detail(works)
            return jsonify(result)
    else:
        return "信息不正确"
コード例 #21
0
def login():
    data = request.get_json()
    if 'phone' not in data or 'password' not in data:
        return "信息缺失"

    phone = data['phone']
    password = data['password']

    # 判断电话号码是否为空
    if phone is None:
        return "The phone number is empty!"

    # 判断密码是否为空
    if password is None:
        return "The password is empty!"

    user = User()
    user.set_phone(phone)
    user.set_password(password)

    try:
        user = UserDAO().retrieve(user)
    except:
        return "Server Failure!"

    # 用户不存在
    if user is None:
        result = return_status(-1)
        return jsonify(result)

    # 授权
    result = Auth.authorize(user)
    return jsonify(result)
コード例 #22
0
def follow():
    auth = request.headers.get('Authorization')
    auth_user_id = Auth.identify(auth)

    # Authorization header不正确
    if auth_user_id is None:
        result = return_status(-2)
        return jsonify(result)

    # 获取用户
    user = User()
    user.set_user_id(auth_user_id)
    user_dao = UserDAO()
    try:
        retrieve_user = user_dao.retrieve(user)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 用户不存在
    if retrieve_user is None:
        result = return_status(-1)
        return jsonify(result)

    data = request.get_json()

    if 'UserID' not in data or 'Cancel' not in data:
        return "信息缺失"
    user_id = data['UserID']
    cancel_follow = data['Cancel']

    follow_dao = FollowDAO()
    if cancel_follow == 'True' or cancel_follow == 'true' or cancel_follow is True:
        follow_dao.delete(user_id, auth_user_id)
        result = return_status(1)
        return jsonify(result)
    if cancel_follow == 'False' or cancel_follow == 'false' or cancel_follow is False:
        follow_dao.add(user_id, auth_user_id)
        result = return_status(0)
        return jsonify(result)
    else:
        result = return_status(-1)
        return jsonify(result)
コード例 #23
0
def like():
    auth = request.headers.get('Authorization')
    auth_user_id = Auth.identify(auth)

    # Authorization header不正确
    if auth_user_id is None:
        result = return_status(-2)
        return jsonify(result)

    # 获取用户
    user = User()
    user.set_user_id(auth_user_id)
    user_dao = UserDAO()
    try:
        retrieve_user = user_dao.retrieve(user)
    except:
        result = return_status(-2)
        return jsonify(result)

    # 用户不存在
    if retrieve_user is None:
        result = return_status(-1)
        return jsonify(result)

    data = request.get_json()

    if 'id' not in data or 'Cancel' not in data:
        return "信息缺失"
    id = data['id']
    cancel_like = data['Cancel']

    work_dao = WorkDAO()
    if cancel_like == 'True' or cancel_like == 'true' or cancel_like is True:
        work_dao.delete_my_like(auth_user_id, id)
        result = return_status(1)
        return jsonify(result)
    if cancel_like == 'False' or cancel_like == 'false' or cancel_like is False:
        work_dao.add_my_like(auth_user_id, id)
        result = return_status(0)
        return jsonify(result)
    else:
        result = return_status(-1)
        return jsonify(result)
コード例 #24
0
 def insertUser(self, form):
     if len(form) != 6:
         return jsonify(Error="Malformed post request"), 400
     else:
         firstname = form['firstname']
         lastname = form['lastname']
         phone = form['phone']
         email = form['email']
         password = form['password']
         username = form['username']
         if firstname and lastname and email and phone and password and username:
             dao = UserDAO()
             uid = dao.insertUser(firstname, lastname, phone, email,
                                  password, username)
             result = self.mapToDict2([
                 uid, firstname, lastname, phone, email, password, username
             ])
             return jsonify(User=result), 201
         else:
             return jsonify(
                 Error="Unexpected attributes in post request"), 400
コード例 #25
0
def register():
    data = request.get_json()
    if 'phone' not in data or 'password' not in data:
        return "信息缺失"

    phone = data['phone']
    password = data['password']

    # 判断电话号码是否为空
    if phone is None:
        return "The phone number is empty!"

    # 判断密码是否为空
    if password is None:
        return "The password is empty!"

    # 检测手机是否已经使用
    phone_is_used = verify_phone(phone)
    if phone_is_used:
        result = return_status(-1)  # 手机号码被使用
        return jsonify(result)

    # 检测手机格式是否正确
    phone_format_false = verify_phone_format(phone)
    if phone_format_false:
        result = return_status(-2)  # 手机格式不正确
        return jsonify(result)

    user = User()
    user.set_phone(phone)
    user.set_password(password)

    try:
        user_dao = UserDAO()
        user_dao.add(user)
        result = return_status(0)
        return jsonify(result)  # 注册成功
    except:
        return "Server failure!"
コード例 #26
0
ファイル: UserHandler.py プロジェクト: bravopr/MHDA
    def insertUser(self, userDic, userAddressDic):
        dao = UserDAO ()
        if len (userDic) != 3 & len (userAddressDic) != 7:
            return jsonify (Error="Malformed post request"), 400
        else:
            uname = userDic['uname']
            ulast = userDic['ulast']
            utype = userDic['utype']
            uaddress = userAddressDic['uaddress']
            ucity = userAddressDic['ucity']
            uregion = userAddressDic['uregion']
            uzip = userAddressDic['uzip']
            ustate = userAddressDic['ustate']
            loclat = userAddressDic['loclat']
            loclon = userAddressDic['loclon']

            if uname and ulast and utype and uaddress and ucity and uregion and uzip and ustate and loclat and loclon:
                uid = dao.insert (uname , ulast , utype , uaddress , ucity , uregion , uzip , ustate , loclat , loclon)
                result = self.build_alluserinfo_dict2 (uid, uname , ulast , utype , uaddress , ucity , uregion , uzip , ustate , loclat , loclon)
                return jsonify (User=result), 201
            else:
                return jsonify (Error="Unexpected attributes in post request"), 400
コード例 #27
0
def build_controller():
    user_dao = UserDAO()
    user_service = UserService(user_dao)

    input_shape = (28, 28, 3)
    modelBuilder = Model(input_shape, construct_model=True)
    lr = 1e-3
    epochs = 250
    loss_function = 'binary_crossentropy'
    optimizer = Adam(lr=lr, decay=lr / epochs)
    metrics = ['accuracy']
    loaded_model = modelBuilder.load_model_from_file()
    loaded_model.compile(loss=loss_function,
                         optimizer=optimizer,
                         metrics=metrics)

    face_detector = FaceDetector(loaded_model, 1.5, (128, 128), 32, 0.4)
    eye_detector = EyeDetector()
    eye_fixer = EyeFixer(face_detector, eye_detector)

    appController = ApplicationController(user_service, eye_fixer)
    return appController
コード例 #28
0
def api_add_user():
    id = UserDAO.add(request.json)

    return jsonify({"id": str(id)})
コード例 #29
0
from flask import jsonify, flash, session
from dao.UserDAO import UserDAO
from handler import DictBuilder as Dict

dao = UserDAO()


###################### Main HANDLER ############################

def register(form):
    # Assumes form contains username, password, first_name, last_name, email, phone
    if form and len(form) >= 6:
        username = form['username']
        password = form['password']
        first_name = form['first_name']
        last_name = form['last_name']
        email = form['email']
        phone = form['phone']

        if username and password and first_name and last_name and email and phone:
            user_id = dao.registerUser(first_name, last_name, email, phone)
            dao.registerUserCredentials(username, password, user_id)

            result = {}
            result['user_id'] = user_id
            result['username'] = username
            result['first_name'] = first_name
            result['last_name'] = last_name
            result['email'] = email
            result['phone'] = [phone]
コード例 #30
0
 def __init__(self):
     self.userDAO = UserDAO.getInstance()
     self.authDAO = AuthDAO.getInstance()
     super().__init__()