def login(self, loginObject): try: output = LoginOutputObject() if not loginObject.deviceInput and not loginObject.deviceToken: return output person = LongTermPersonMemoryClient().loginCall(loginObject) if person: output.uniquename = person.uniquename output.details = person.details output.autorisations = person.autorisations if not person: return output if loginObject.deviceToken is not None: output.deviceToken = loginObject.deviceToken if ShortTermTokenMemoryClient().validateDeviceToken( loginObject.deviceToken): output.token = self.__get_request_token( uniquename=person.uniquename, deviceToken=loginObject.deviceToken) else: loginObject.deviceInput.person = person.uniquename deviceToken = ShortTermTokenMemoryClient().register_device( loginObject.deviceInput) output.deviceToken = deviceToken return output except BadHashException as badHash: # ShortTermLogMemoryClient().log_thrift_exception(loginObject, badHash) raise badHash except LoginFailedException as fail: # ShortTermLogMemoryClient().log_thrift_exception(loginObject, fail) raise fail
def configureUser(self, userlist, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException LongTermPersonMemoryClient().configureUser(userlist=userlist) output = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def changeUser(self, field, person, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException LongTermPersonMemoryClient().changeUser(field=field, person=person) output = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def getUserList(self, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException output = UserListOutput() output.personList = LongTermPersonMemoryClient().getUserList() output.token = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def confirmDevice(self, deviceToken, active, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException ShortTermTokenMemoryClient().confirmDevice(devicetoken=deviceToken, active=active) output = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def getDeviceList(self, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException output = DeviceListOutput() output.deviceList = ShortTermTokenMemoryClient().getDeviceList() output.token = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def configureModuleSettings(self, uniquename, action, config, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException LongTermPersonMemoryClient().configureModuleSettings( uniquename=uniquename, action=action, config=config) output = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def configureUserModule(self, uniquename, autorisations, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException LongTermPersonMemoryClient().configureUserModule( uniquename=uniquename, autorisations=autorisations) output = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def getUser(self, uniquename, tokenInput): if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException output = UserOutput() output.person = LongTermPersonMemoryClient().get_Person( input=uniquename) output.token = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output
def createNewPerson(self, person, tokenInput): try: if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException output = UserOutput() output.person = LongTermPersonMemoryClient().createNewPerson( person=person) output.token = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output except UniqueFailedException as unique: raise unique
def changePassword(self, username, password, tokenInput): try: if not ShortTermTokenMemoryClient().validateToken( earPiAuthObject=tokenInput): raise LoginFailedException LongTermPersonMemoryClient().changePassword(username=username, password=password) output = ShortTermTokenMemoryClient().getToken( earPiAuthObject=tokenInput) return output except BadHashException as badHash: # ShortTermLogMemoryClient().log_thrift_exception(loginObject, badHash) raise badHash except LoginFailedException as fail: # ShortTermLogMemoryClient().log_thrift_exception(loginObject, fail) raise fail
def __get_request_token(uniquename, deviceToken): eyeInput = EyePiInput() actions = dict() actions[ActionEnum.LOGIN] = pickle.dumps(obj=uniquename, protocol=None, fix_imports=False) eyeInput.action = actions eyeInput.person = uniquename eyeInput.deviceToken = deviceToken return ShortTermTokenMemoryClient().getToken(eyeInput)
def handleRequest(self, input): try: ShortTermLogMemoryClient().log_event(input, message='start eyepi') eyeOutput = EyePiOutput() tokenValide = True if input.token: tokenValide = ShortTermTokenMemoryClient().validateToken( input.token, input.deviceToken) eyeOutput.ok = tokenValide if input.image and tokenValide: eyeOutput.ok = False eyeOutput.personCollection = [] facePiOutput = FacePiThriftClient().handle_request(input.image) for face in facePiOutput: name = face.person person = LongTermPersonMemoryClient().get_Person( input=name) if person: if person.enabled: eyeOutput.personCollection.append(face) # eyeOutput.personCollection = facePiOutput if eyeOutput.personCollection: eyeOutput.ok = True if eyeOutput.ok: eyeOutput.token = ShortTermTokenMemoryClient().getToken(input) eyeOutput.data = self.__make_generic_call(input.action) return eyeOutput except ThriftServiceException as tex: ShortTermLogMemoryClient().log_thrift_exception(input, tex) raise tex except ExternalEndpointUnavailable as endEx: ShortTermLogMemoryClient().log_thrift_endpoint_exception( input, endEx) raise endEx except Exception as ex: ShortTermLogMemoryClient().log_exception(input, ex) print('invalid request %s' % ex) raise ThriftServiceException('EyePi', 'invalid request %s' % ex)