Exemplo n.º 1
0
    def _create_device(self):

        _osmodel = self.input_data.get("osmodel")
        _osversion = self.input_data.get("osversion")
        _device_fullname = self.input_data.get("device_fullname")
        
        _is_development = bool(self.input_data.get("ios_app_development"))

        _device_ios_token = self.input_data.get("device_ios_token")
        _device_android_gcmtoken = self.input_data.get("device_android_gcmtoken")
        _device_android_jpush_registrationid = self.input_data.get("device_android_jpush_registrationid")
        
        _device_uuid = str(uuid.uuid1())
        _values = {
            "uuid": _device_uuid,
            "terminal_uuid": self._terminal_uuid,
            "user_uuid": self.user.get("uuid"),
            "device_ostype": self._ostype,
            "device_ios_model": _osmodel,
            "device_osversion": _osversion,
            "device_fullname": _device_fullname,

            "is_development": _is_development,
            
            "device_ios_token": _device_ios_token,
            "device_android_gcmtoken": _device_android_gcmtoken,
            "device_android_jpush_registrationid": _device_android_jpush_registrationid,

        }

        _row = DeviceInfo(**_values)
        _row.create_redis_keys(self.application.redis)
        _row.async_add(self.application.redis)
        return _values
Exemplo n.º 2
0
 def _update_device_with_is_development(self, _device_uuid, _is_development):
     _values = {
         "uuid": _device_uuid,
         "is_development": _is_development,
     }
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update()
     return
Exemplo n.º 3
0
 def _update_device_with_user(self, _device_uuid, _user_uuid):
     _values = {
         "uuid": _device_uuid,
         "user_uuid": _user_uuid,
     }
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update()
     return
Exemplo n.º 4
0
 def _update_device(self):        
     _values = {
         "uuid": self.device_uuid,
         "device_is_online": False
     }        
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update(self.application.redis)
     return
Exemplo n.º 5
0
 def _update_device_online(self):
     _values = {
         "uuid": self.device.get("uuid"),
         "device_is_online": True
     }
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update()
     return
Exemplo n.º 6
0
    def _update_device(self):
        _values = {
            "uuid": self.device_uuid,
            "device_is_online": False
        }        
        _row = DeviceInfo(**_values)
        _row.update_redis_keys(self.application.redis)
        _row.async_update()

        _d = redis_hash_to_dict(self.application.redis, DeviceInfo, self.device_uuid)
        logging.info(_d)
        return
Exemplo n.º 7
0
    def _post(self, _request):
        _device_uuid = _request.get("device_uuid")

        if _device_uuid == None:
            self.setErrorCode(API_ERR.ERR_PARAM)
            return

        _redis = self.application.redis
        _device = redis_hash_to_dict(_redis, DeviceInfo, _device_uuid)

        if _device is None:
            logging.error("Error NO DEVICE for key [%s] ." % (_key))
            self.setErrorCode(API_ERR.NO_DEVICE)
            return

        _values = {
            "uuid": _device_uuid
        }
        
        if "fullname" in _request:
            _values["device_fullname"]= _request["fullname"]

        if "ostype" in _request:
            _values["device_ostype"] = _request["ostype"].upper()
                
        if "osversion" in _request:
            _values["device_osversion"] = _request["osversion"]

        # apilevel for android
        if "apilevel" in _request:
            _values["device_android_apilevel"] = _request["apilevel"]
            
        # phone number for phone
        if "phone" in _request:
            _values["device_phonenumber"] = _request["phone"]

        if "iosmodel" in _request:
            _values["device_ios_model"] = _request["iosmodel"]

        if "iostoken" in _request:
            _values["device_ios_token"] = _request["iostoken"]
            self.application.redis.srem(INVALID_IOS_TOKEN, _request["iostoken"])

        if "device_android_gcmtoken" in _request:
            _values["device_android_gcmtoken"] = _request["device_android_gcmtoken"]

        if "device_android_gcmpush" in _request:
            _values["device_android_gcmpush"] = _request["device_android_gcmpush"]

        _row = DeviceInfo(**_values)
        _row.update_redis_keys(_redis)
        _row.async_update()        
        return
Exemplo n.º 8
0
 def _update_device_with_token(self, _device_uuid):
     _device_android_jpush_registrationid = self.input_data.get("device_android_jpush_registrationid")
     _device_android_gcmtoken = self.input_data.get("device_android_gcmtoken")
     _device_ios_token = self.input_data.get("device_ios_token")
     _values = {
         "uuid": _device_uuid,
         "device_ios_token": _ios_token,
         "device_android_gcmtoken": _device_android_gcmtoken,
         "device_android_jpush_registrationid": _device_android_jpush_registrationid
     }
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update(self.application.redis)
     return
Exemplo n.º 9
0
 def _create_device(self):
     _osmodel = self.input_data.get("osmodel")
     _osversion = self.input_data.get("osversion")
     _device_fullname = self.input_data.get("device_fullname")
     _device_uuid = str(uuid.uuid1())
     _values = {
         "uuid": _device_uuid,
         "terminal_uuid": self._terminal_uuid,
         "user_uuid": self.user.get("uuid"),
         "device_ostype": self._ostype,
         "device_ios_model": _osmodel,
         "device_osversion": _osversion,
         "device_fullname": _device_fullname        
     }
     _row = DeviceInfo(**_values)
     _row.create_redis_keys(self.application.redis)
     _row.async_add(self.application.redis)
     return _values
Exemplo n.º 10
0
    def _create(self):
        _redis = self.application.redis
        _device_uuid = None
        _terminal_uuid = self._device_id

        _key = DeviceInfo.__tablename__ + ".terminal_uuid." + _terminal_uuid
        if _redis.exists(_key):
            self._existed(_redis.get(_key))
            return

        _device_uuid = str(uuid.uuid1())
        _row = DeviceInfo(uuid=_device_uuid, app_uuid=self._app_uuid, user_uuid=self._user_uuid, is_ppcom_device=True,
                          device_ostype=self._device_ostype, terminal_uuid=_terminal_uuid)
        _row.async_add(self.application.redis)
        _row.create_redis_keys(self.application.redis)

        self._user(_device_uuid)
        _rdata = self.getReturnData()
        _rdata["device_uuid"] = _device_uuid
        return
Exemplo n.º 11
0
    def _update_device_with_token(self, _device_uuid, _token):
        _ios_token = None
        _gcm_token = None
        _gcm_push = False
        if self._ostype == OS.IOS:
            _ios_token = _token
        if self._ostype == OS.AND:
            _gcm_token = _token
        if _gcm_token != None:
            _gcm_push = True

        _values = {
            "uuid": _device_uuid,
            "device_ios_token": _ios_token,
            "device_android_gcmtoken": _gcm_token,
            "device_android_gcmpush": _gcm_push,
        }
        _row = DeviceInfo(**_values)
        _row.update_redis_keys(self.application.redis)
        _row.async_update()
        return
Exemplo n.º 12
0
    def _online(self, _user_uuid, _device_uuid, _app_uuid):
        _redis = self.application.redis
        _user = redis_hash_to_dict(_redis, DeviceUser, _user_uuid)
        if _user == None:
            self.setErrorCode(API_ERR.NO_USER)
            return
        
        if _user["ppcom_mobile_device_uuid"] != _device_uuid \
           and _user["ppcom_browser_device_uuid"] != _device_uuid:
            self.setErrorCode(API_ERR.NO_DEVICE)
            return

        _device = redis_hash_to_dict(_redis, DeviceInfo, _device_uuid)
        if _device == None:
            self.setErrorCode(API_ERR.NO_DEVICE)
            return

        _row = DeviceInfo(uuid=_device_uuid, device_is_online=True)
        _row.async_update()
        _row.update_redis_keys(self.application.redis)

        self._user_online_status(_user_uuid, _device_uuid, _app_uuid)
        return
Exemplo n.º 13
0
 def _update_device_with_user(self, _device_uuid, _user_uuid):
     _values = {
         "uuid": _device_uuid,
         "user_uuid": _user_uuid,
     }
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update(self.application.redis)
     return
Exemplo n.º 14
0
    def _create_device(self):
        _token = self.input_data.get("token")
        _osmodel = self.input_data.get("osmodel")
        _osversion = self.input_data.get("osversion")
        _device_fullname = self.input_data.get("device_fullname")
        _is_development = bool(self.input_data.get("ios_app_development"))

        _ios_token = None
        _gcm_token = None
        _gcm_push = False
        if self._ostype == OS.IOS:
            _ios_token = _token
        if self._ostype == OS.AND:
            _gcm_token = _token
        if _gcm_token != None:
            _gcm_push = True
            
        _device_uuid = str(uuid.uuid1())
        _values = {
            "uuid": _device_uuid,
            "terminal_uuid": self._terminal_uuid,
            "user_uuid": self.user.get("uuid"),
            "device_ostype": self._ostype,
            "device_ios_token": _ios_token,
            "device_ios_model": _osmodel,
            "device_osversion": _osversion,
            "device_fullname": _device_fullname,
            "is_development": _is_development,
            "device_android_gcmtoken": _gcm_token,
            "device_android_gcmpush": _gcm_push
        }

        _row = DeviceInfo(**_values)
        _row.create_redis_keys(self.application.redis)
        _row.async_add()
        return _values
Exemplo n.º 15
0
    def _update_device(self):
        _values = {"uuid": self.device_uuid, "device_is_online": False}
        _row = DeviceInfo(**_values)
        _row.update_redis_keys(self.application.redis)
        _row.async_update()

        _d = redis_hash_to_dict(self.application.redis, DeviceInfo,
                                self.device_uuid)
        logging.info(_d)
        return
Exemplo n.º 16
0
 def _update_device_with_is_development(self, _device_uuid,
                                        _is_development):
     _values = {
         "uuid": _device_uuid,
         "is_development": _is_development,
     }
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update(self.application.redis)
     return
    def _post(self, _request):
        _device_uuid = _request.get("device_uuid")

        if _device_uuid == None:
            self.setErrorCode(API_ERR.ERR_PARAM)
            return

        _redis = self.application.redis
        _device = redis_hash_to_dict(_redis, DeviceInfo, _device_uuid)

        if _device is None:
            logging.error("Error NO DEVICE for key [%s] ." % (_key))
            self.setErrorCode(API_ERR.NO_DEVICE)
            return

        _values = {"uuid": _device_uuid}

        if "fullname" in _request:
            _values["device_fullname"] = _request["fullname"]

        if "ostype" in _request:
            _values["device_ostype"] = _request["ostype"].upper()

        if "osversion" in _request:
            _values["device_osversion"] = _request["osversion"]

        # apilevel for android
        if "apilevel" in _request:
            _values["device_android_apilevel"] = _request["apilevel"]

        # phone number for phone
        if "phone" in _request:
            _values["device_phonenumber"] = _request["phone"]

        if "iosmodel" in _request:
            _values["device_ios_model"] = _request["iosmodel"]

        if "iostoken" in _request:
            _values["device_ios_token"] = _request["iostoken"]
            self.application.redis.srem(INVALID_IOS_TOKEN,
                                        _request["iostoken"])

        if "device_android_gcmtoken" in _request:
            _values["device_android_gcmtoken"] = _request[
                "device_android_gcmtoken"]

        if "device_android_gcmpush" in _request:
            _values["device_android_gcmpush"] = _request[
                "device_android_gcmpush"]

        _row = DeviceInfo(**_values)
        _row.update_redis_keys(_redis)
        _row.async_update()
        return
Exemplo n.º 18
0
 def _create_device(self):
     _osmodel = self.input_data.get("osmodel")
     _osversion = self.input_data.get("osversion")
     _device_fullname = self.input_data.get("device_fullname")
     _device_uuid = str(uuid.uuid1())
     _values = {
         "uuid": _device_uuid,
         "terminal_uuid": self._terminal_uuid,
         "user_uuid": self.user.get("uuid"),
         "device_ostype": self._ostype,
         "device_ios_model": _osmodel,
         "device_osversion": _osversion,
         "device_fullname": _device_fullname
     }
     _row = DeviceInfo(**_values)
     _row.create_redis_keys(self.application.redis)
     _row.async_add(self.application.redis)
     return _values
Exemplo n.º 19
0
    def _create_device(self):

        _osmodel = self.input_data.get("osmodel")
        _osversion = self.input_data.get("osversion")
        _device_fullname = self.input_data.get("device_fullname")

        _is_development = bool(self.input_data.get("ios_app_development"))

        _device_ios_token = self.input_data.get("device_ios_token")
        _device_android_gcmtoken = self.input_data.get(
            "device_android_gcmtoken")
        _device_android_jpush_registrationid = self.input_data.get(
            "device_android_jpush_registrationid")

        _device_uuid = str(uuid.uuid1())
        _values = {
            "uuid":
            _device_uuid,
            "terminal_uuid":
            self._terminal_uuid,
            "user_uuid":
            self.user.get("uuid"),
            "device_ostype":
            self._ostype,
            "device_ios_model":
            _osmodel,
            "device_osversion":
            _osversion,
            "device_fullname":
            _device_fullname,
            "is_development":
            _is_development,
            "device_ios_token":
            _device_ios_token,
            "device_android_gcmtoken":
            _device_android_gcmtoken,
            "device_android_jpush_registrationid":
            _device_android_jpush_registrationid,
        }

        _row = DeviceInfo(**_values)
        _row.create_redis_keys(self.application.redis)
        _row.async_add(self.application.redis)
        return _values
Exemplo n.º 20
0
 def _update_device_with_token(self, _device_uuid):
     _device_android_jpush_registrationid = self.input_data.get(
         "device_android_jpush_registrationid")
     _device_android_gcmtoken = self.input_data.get(
         "device_android_gcmtoken")
     _device_ios_token = self.input_data.get("device_ios_token")
     _values = {
         "uuid":
         _device_uuid,
         "device_ios_token":
         _ios_token,
         "device_android_gcmtoken":
         _device_android_gcmtoken,
         "device_android_jpush_registrationid":
         _device_android_jpush_registrationid
     }
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update(self.application.redis)
     return
Exemplo n.º 21
0
    def _update_device_with_token(self, _device_uuid, _token):
        _ios_token = None
        _gcm_token = None
        _gcm_push = False
        if self._ostype == OS.IOS:
            _ios_token = _token
        if self._ostype == OS.AND:
            _gcm_token = _token
        if _gcm_token != None:
            _gcm_push = True

        _values = {
            "uuid": _device_uuid,
            "device_ios_token": _ios_token,
            "device_android_gcmtoken": _gcm_token,
            "device_android_gcmpush": _gcm_push,
        }
        _row = DeviceInfo(**_values)
        _row.update_redis_keys(self.application.redis)
        _row.async_update(self.application.redis)
        return
Exemplo n.º 22
0
    def _offline(self, _user_uuid, _device_uuid, _app_uuid):
        _redis = self.application.redis
        _user = redis_hash_to_dict(_redis, DeviceUser, _user_uuid)
        if _user == None:
            self.setErrorCode(API_ERR.NO_USER)
            return

        if _user["ppcom_mobile_device_uuid"] != _device_uuid \
           and _user["ppcom_browser_device_uuid"] != _device_uuid:
            self.setErrorCode(API_ERR.NO_DEVICE)
            return

        _device = redis_hash_to_dict(_redis, DeviceInfo, _device_uuid)
        if _device == None:
            self.setErrorCode(API_ERR.NO_DEVICE)
            return

        _row = DeviceInfo(uuid=_device_uuid, device_is_online=False)
        _row.async_update()
        _row.update_redis_keys(self.application.redis)

        self._user_online_status(_user_uuid, _device_uuid, _app_uuid)
        return
Exemplo n.º 23
0
    def _create(self):
        _redis = self.application.redis
        _device_uuid = None
        _terminal_uuid = self._device_id

        _key = DeviceInfo.__tablename__ + ".terminal_uuid." + _terminal_uuid
        if _redis.exists(_key):
            self._existed(_redis.get(_key))
            return

        _device_uuid = str(uuid.uuid1())
        _row = DeviceInfo(uuid=_device_uuid,
                          user_uuid=self._user_uuid,
                          is_ppcom_device=True,
                          device_ostype=self._device_ostype,
                          terminal_uuid=_terminal_uuid)
        _row.async_add(self.application.redis)
        _row.create_redis_keys(self.application.redis)

        self._user(_device_uuid)
        _rdata = self.getReturnData()
        _rdata["device_uuid"] = _device_uuid
        return
Exemplo n.º 24
0
    def _create_device(self):
        _token = self.input_data.get("token")
        _osmodel = self.input_data.get("osmodel")
        _osversion = self.input_data.get("osversion")
        _device_fullname = self.input_data.get("device_fullname")
        _is_development = bool(self.input_data.get("ios_app_development"))

        _ios_token = None
        _gcm_token = None
        _gcm_push = False
        if self._ostype == OS.IOS:
            _ios_token = _token
        if self._ostype == OS.AND:
            _gcm_token = _token
        if _gcm_token != None:
            _gcm_push = True

        _device_uuid = str(uuid.uuid1())
        _values = {
            "uuid": _device_uuid,
            "terminal_uuid": self._terminal_uuid,
            "user_uuid": self.user.get("uuid"),
            "device_ostype": self._ostype,
            "device_ios_token": _ios_token,
            "device_ios_model": _osmodel,
            "device_osversion": _osversion,
            "device_fullname": _device_fullname,
            "is_development": _is_development,
            "device_android_gcmtoken": _gcm_token,
            "device_android_gcmpush": _gcm_push
        }

        _row = DeviceInfo(**_values)
        _row.create_redis_keys(self.application.redis)
        _row.async_add(self.application.redis)
        return _values
Exemplo n.º 25
0
 def _offline_device(self, _device_uuid):
     _row = DeviceInfo(**{"uuid": _device_uuid, "device_is_online": False})
     _row.async_update()
     _row.update_redis_keys(self.application.redis)
     return
Exemplo n.º 26
0
 def _ppcom_offline(self, _device_uuid):
     _row = DeviceInfo(uuid=_device_uuid, device_is_online=False)
     _row.async_update()
     _row.update_redis_keys(self.redis)
     # FIXME: UserOnlineStatusLog
     return
Exemplo n.º 27
0
 def device_online(self, _device_uuid, _is_online=True):
     _row = DeviceInfo(uuid=_device_uuid, device_is_online=_is_online)
     _row.async_update(self.redis)
     _row.update_redis_keys(self.redis)
     return
Exemplo n.º 28
0
 def _update_device(self):
     _values = {"uuid": self.device_uuid, "device_is_online": False}
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update()
     return
Exemplo n.º 29
0
 def device_online(self, _device_uuid, _is_online=True):
     _row = DeviceInfo(uuid=_device_uuid, device_is_online=_is_online)
     _row.async_update()
     _row.update_redis_keys(self.redis)
     return
Exemplo n.º 30
0
 def _offline_device(self, _device_uuid):
     _row = DeviceInfo(**{"uuid": _device_uuid, "device_is_online": False})
     _row.async_update(self.application.redis)
     _row.update_redis_keys(self.application.redis)
     return
Exemplo n.º 31
0
 def _update_device_online(self):
     _values = {"uuid": self.device.get("uuid"), "device_is_online": True}
     _row = DeviceInfo(**_values)
     _row.update_redis_keys(self.application.redis)
     _row.async_update(self.application.redis)
     return
Exemplo n.º 32
0
 def _ppcom_offline(self, _device_uuid):
     _row = DeviceInfo(uuid=_device_uuid, device_is_online=False)
     _row.async_update()
     _row.update_redis_keys(self.redis)
     # FIXME: UserOnlineStatusLog
     return