Beispiel #1
0
    def onRegister(self, result, request):
        if str(result) == '400':
            request.write(resultValue(result))
        else:
            request.write(resultValue('1'))

        request.finish()
Beispiel #2
0
 def onGetEmail(self, result, request):
     if result[0] is None:
         request.write(resultValue(605))
     elif len(result[0]) == 0:
         request.write(resultValue(604))
     else:
         request.write(dumps({'result': '1', 'email': result[0]}))
     request.finish()
Beispiel #3
0
 def onFoundPassword(self, result, request, username):
     address = result[0]
     password = result[1]
     if address is None:
         #address in None when user hasnot fill email
         request.write(resultValue(605))
     elif len(address) == 0:
         #address in empty if  user filled in email but didnot authenticate it
         request.write(resultValue(604))
     else:
     #log.msg('RESULT FROM SQL IS:\t', address, password)
         try:
             sendPasswordByEmail(address, password, username)     
         except Exception, e:
             log.msg(str(e))
         request.write(resultValue(1))
Beispiel #4
0
 def onGetFamily(self, result, request):
     if len(result) == 0:
         request.write(resultValue(5031))
     else:
         contactentries = list()
         for r in result:
             contact = dict()
             contact["familynumber"] = r[1]
             contact["contact"] = r[2]
             contactentries.append(contact)
         request.write(dumps({"result": "1", "contactentries": contactentries}))
     request.finish()
Beispiel #5
0
 def onGetSticks(self, result, request):
     if len(result) == 0:
         request.write(resultValue(404))
     else:
         sticks = list()
         for r in result:
             stick = dict()
             stick['type'] = str(r[3])
             stick['simnum'] = str(r[2])
             stick['name'] = str(r[1])
             stick['imei'] = str(r[0])
             sticks.append(stick)
         request.write(dumps({'result': '1', 'sticks': sticks}))
     request.finish()
Beispiel #6
0
    def onResult(self, result, request):
        log.msg(str(result))
        if result in ['400', '401', '402', '403', '404']:
            request.write(resultValue(result))
        elif type(result) == tuple and len(result) != 0:
            #user has only 1 stick
            if len(result) == 1:
                request.write(dumps({'result': '1', 'imei': result[0][1], 'name': result[0][2], 'type': result[0][3], 'simnum': result[0][5]}))
            else:
                #user have many sticks
                info = result[0]
                for r in result:
                    if r[4] == '1':
                        info = r
                #print 'INFO !!!! ', info
                request.write(dumps({'result': '1', 'imei': info[1], 'name': info[2], 'type': info[3], 'simnum': info[5]}))


        elif type(result) == tuple and len(result) == 0:
            request.write(resultValue(404))
        else:
            request.write(resultValue(1))
        request.finish()
Beispiel #7
0
    def render_POST(self, request):
        if request.args["action"] == ["getuserlocation"]:
            try:
                payload = self.getLegalPayload(request)
                # log.msg(str(payload))
            except Exception, e:
                log.msg(e)
                return resultValue(300)

            d = selectLocationSql(wsdbpool, payload["imei"], payload["username"], payload["timestamp"], payload)
            d.addCallback(self.OnGpsResult, request, payload)
            d.addErrback(onError, request)
            if payload["imei"] in onlineStatusHelper.connectedSticks:
                onlineStatusHelper.connectedSticks[payload["imei"]].updateAppRequestTime()
                log.msg(str(vars(onlineStatusHelper.connectedSticks[payload["imei"]])))
            return NOT_DONE_YET
Beispiel #8
0
    def render_POST(self, request):
        payload = eval(request.content.read())
        #log.msg(str(payload))

        if request.args['action'] == ['register']:
            if 'username' not in payload or 'password' not in payload:
                return resultValue(300)
            if len(payload['username']) == 0 or len(payload['password']) == 0:
                return resultValue(300)
            d = selectUserSql(wsdbpool, payload['username']).addCallback(self.checkUser, payload)
            d.addCallback(self.onRegister, request)
            d.addErrback(onError)
            return NOT_DONE_YET
        if request.args['action'] == ['registerandupload']:
            if 'username' not in payload or 'password' not in payload:
                return resultValue(300)
            if 'sticks' in payload:
                for s in payload['sticks']:
                    if len(s['name']) == 0 or len(s['imei']) == 0:
                        return resultValue(300)
            handleRegisterandUploadSql(wsdbpool, payload).addCallbacks(self.onRegisterUpload, onError, callbackArgs=(request,))
            return NOT_DONE_YET
            


        if request.args['action'] == ['login']:
            if 'username' not in payload or 'password' not in payload:
                return resultValue(300)
            if len(payload['username']) == 0 or len(payload['password']) == 0:
                return resultValue(300)
            d = selectUserSql(wsdbpool, payload['username']).addCallback(self.onLogin, request, payload).addCallback(self.onResult, request)
            d.addErrback(onError)
            return NOT_DONE_YET
        if request.args['action'] == ['updatepassword']:
            if 'username' not in payload or 'password' not in payload or 'newpassword' not in payload:
                return resultValue(300)
            if len(payload['username']) == 0 or len(payload['newpassword']) == 0:
                return resultValue(300)
            d = selectUserSql(wsdbpool, payload['username']).addCallback(self.onLogin, request, payload).addCallback(self.onResult, request)
            d.addErrback(onError)
            return NOT_DONE_YET

        if request.args['action'] == ['setstickname']:
            if 'username' not in payload or 'imei' not in payload or 'name' not in payload:
                return resultValue(300)
            if len(payload['username']) == 0 or len(payload['name']) == 0 or len(payload['imei']) == 0:
                return resultValue(300)
            d = selectRelationByImeiSql(wsdbpool, payload['username'], payload['imei']).addCallback(self.onChangeName, payload)
            d.addCallback(self.onResult, request)
            d.addErrback(onError)
            return NOT_DONE_YET

        if request.args['action'] == ['getsticks']:
            if 'username' not in payload:
                return resultValue(300)
            d = selectRelationSql(wsdbpool, payload['username'])
            d.addCallback(self.onGetSticks, request)
            d.addErrback(onError)
            return NOT_DONE_YET

        if request.args['action'] == ['uploadsticks']:
            if 'username' not in payload or 'sticks' not in payload:
                return resultValue(300)
            if len(payload['username']) == 0 or len(payload['sticks']) == 0:
                return resultValue(300)
            for s in payload['sticks']:
                if len(s['name']) == 0 or len(s['imei']) == 0:
                    return resultValue(300)

            d = handleUploadSql(wsdbpool, payload)
            d.addCallback(self.onUpload, request)
            d.addErrback(onError)
            return NOT_DONE_YET
        
        if request.args['action'] == ['unsubscribe']:
            if 'username' not in payload or 'imei' not in payload:
                return resultValue(300)
            if len(payload['username']) == 0 or len(payload['imei']) == 0:
                return resultValue(300)
            d = handleUnsubscribeSql(wsdbpool, payload['username'], payload['imei']).addCallbacks(self.unSubSuccess, self.unSubError, callbackArgs=(request, payload['imei']), errbackArgs=(request, payload['imei']))
            #d.addErrback(onError)
            return NOT_DONE_YET

        if request.args['action'] == ['forgotpassword']:
            if 'username' not in payload :
                return resultValue(300)
            if len(payload['username']) == 0:
                return resultValue(300)
            d = FoundPasswordSql(wsdbpool, payload['username'])
            d.addCallbacks(self.onFoundPassword, onError,callbackArgs=(request, str(payload['username'])), errbackArgs=(request,))
            return NOT_DONE_YET

        if request.args['action'] == ['review']:
            d = insertUserReview(wsdbpool, username=payload['username'], review=payload['review'])
            d.addCallback(self.onResult, request)
            return NOT_DONE_YET

        if request.args['action'] == ['fillinemail']:
            hashcode = hash(payload['username'] + payload['email'])
            authlink = 'http://smartstick.huahailife.com:8082/api/user?action=checkemail&&username=%s&&hc=%s' %(payload['username'], hashcode)
            from sendMail import sendAuthLinkByEmail
            d = threads.deferToThread(sendAuthLinkByEmail, payload['email'], payload['username'], authlink).addCallback(insertTempEmailSql, wsdbpool, payload['username'], payload['email'])
            return resultValue(1)

        if request.args['action'] == ['getemail']:
            FoundPasswordSql(wsdbpool, payload['username']).addCallback(self.onGetEmail, request)
            return NOT_DONE_YET
Beispiel #9
0
 def onRegisterUpload(self, result, request):
     if result == True:
         request.write(resultValue(1))
     elif result == 400:
         request.write(resultValue(400))
     request.finish()
Beispiel #10
0
 def onUpload(self, result, request):
     if result:
         request.write(resultValue(1))
     else:
         request.write(resultValue(403))
     request.finish()
Beispiel #11
0
    def render_POST(self, request):
        payload = eval(request.content.read())
        # log.msg(str(payload))
        apprequest = appRequest(payload)
        if apprequest.isValid == False:
            return resultValue(300)

        if request.args["action"] == ["addnumber"]:
            d = (
                checkUsernamePasswordSql(wsdbpool, payload["username"], payload["password"])
                if "username" in payload
                else checkAdminPwdSql(wsdbpool, payload["imei"], payload["adminpwd"])
            )
            d.addCallback(nextMethod, checkImeiSimnumSql, wsdbpool, payload["imei"]).addCallback(
                nextMethod, checkSosnumberSql, wsdbpool, payload["imei"], payload["contactentry"]["sosnumber"], "ADD"
            ).addCallback(
                nextMethod,
                insertTempSosSql,
                wsdbpool,
                payload["imei"],
                payload["contactentry"]["sosnumber"],
                payload["contactentry"]["contact"],
            )

            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["addfamilynumber"]:
            d = (
                checkUsernamePasswordSql(wsdbpool, payload["username"], payload["password"])
                if "username" in payload
                else checkAdminPwdSql(wsdbpool, payload["imei"], payload["adminpwd"])
            )
            d.addCallback(nextMethod, checkImeiSimnumSql, wsdbpool, payload["imei"]).addCallback(
                nextMethod,
                checkFamilynumberSql,
                wsdbpool,
                payload["imei"],
                payload["contactentry"]["familynumber"],
                "ADD",
            ).addCallback(
                nextMethod,
                insertTempFamilySql,
                wsdbpool,
                payload["imei"],
                payload["contactentry"]["familynumber"],
                payload["contactentry"]["contact"],
            )
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["delnumber"]:
            d = (
                checkUsernamePasswordSql(wsdbpool, payload["username"], payload["password"])
                if "username" in payload
                else checkAdminPwdSql(wsdbpool, payload["imei"], payload["adminpwd"])
            )
            d.addCallback(nextMethod, checkImeiSimnumSql, wsdbpool, payload["imei"]).addCallback(
                nextMethod, checkSosnumberSql, wsdbpool, payload["imei"], payload["contactentry"]["sosnumber"], "DEL"
            ).addCallback(
                nextMethod,
                insertTempSosSql,
                wsdbpool,
                payload["imei"],
                payload["contactentry"]["sosnumber"],
                payload["contactentry"]["contact"],
            )
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["delfamilynumber"]:
            d = (
                checkUsernamePasswordSql(wsdbpool, payload["username"], payload["password"])
                if "username" in payload
                else checkAdminPwdSql(wsdbpool, payload["imei"], payload["adminpwd"])
            )
            d.addCallback(nextMethod, checkImeiSimnumSql, wsdbpool, payload["imei"]).addCallback(
                nextMethod,
                checkFamilynumberSql,
                wsdbpool,
                payload["imei"],
                payload["contactentry"]["familynumber"],
                "DEL",
            ).addCallback(
                nextMethod,
                insertTempFamilySql,
                wsdbpool,
                payload["imei"],
                payload["contactentry"]["familynumber"],
                payload["contactentry"]["contact"],
            )
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["varifyadd"]:
            d = verifyOperSql(wsdbpool, payload["imei"], payload["sosnumber"], "ADD")
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["varifyaddfamilynumber"]:
            d = verifyFamilyOperSql(wsdbpool, payload["imei"], payload["familynumber"], "ADD")
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["varifydel"]:
            d = verifyOperSql(wsdbpool, payload["imei"], payload["sosnumber"], "DEL")
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["varifydelfamilynumber"]:
            d = verifyFamilyOperSql(wsdbpool, payload["imei"], payload["familynumber"], "DEL")
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))
        elif request.args["action"] == ["getnumber"]:
            d = selectSosNumberSql(wsdbpool, payload["imei"])
            d.addCallbacks(self.onGetSos, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["getfamilynumber"]:
            d = selectFamilyNumberSql(wsdbpool, payload["imei"])
            d.addCallbacks(self.onGetFamily, onError, callbackArgs=(request,), errbackArgs=(request,))

        elif request.args["action"] == ["updatepassword"]:
            d = checkAdminPwdSql(wsdbpool, payload["imei"], payload["adminpwd"]).addCallback(
                nextMethod, updateAdminPwdSql, wsdbpool, payload["imei"], payload["newadminpwd"]
            )
            d.addCallbacks(onSuccess, onError, callbackArgs=(request,), errbackArgs=(request,))

        return NOT_DONE_YET