def connectToEyePi(self, image): # try1: cv2.threshold(img,127,255,cv2.THRESH_BINARY) # try2: print('i see faces') try: self.face_connection_thread_running = True input = EyePiInput() # input.image = cv2.threshold(image,127,255,cv2.THRESH_BINARY) input.image = pickle.dumps(obj=image, protocol=None, fix_imports=False) actions = dict() weather_input = WeatherInput() weather_input.location = 'Amsterdam,nl' actionParameter = pickle.dumps(obj=weather_input, protocol=None, fix_imports=False) actions[ActionEnum.WEATHER] = actionParameter input.action = actions input.deviceToken = self.device_token output = ConnectEyePi().handleRequest(input) time.sleep(10) if output.ok: print('ok, yay, I know you') self.cap.release() cv2.destroyAllWindows() self.face_connection_thread_running = False else: self.face_connection_thread_running = False except Exception as ex: print('exception catched %s' % ex)
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 make_weather_call(self): input = EyePiInput() input.deviceToken = self.__devicetoken input.token = self.__token actions = dict() actions[ActionEnum.WEATHER] = self.__person.autorisations[ActionEnum.WEATHER].module_config input.action = actions output = ConnectEyePi().handleRequest(input) print(output) print(self.__unpickle_action(output.data, ActionEnum.WEATHER)) if output.ok: self.__token = output.token
def make_phone_call(self): config = self.__unpickle(self.__person.autorisations[ActionEnum.PHONE].module_config) phone_input = GetStatus() phone_input.email = config.email input = EyePiInput() input.deviceToken = self.__devicetoken input.token = self.__token actions = dict() actions[ActionEnum.PHONE] = self.__pickle(phone_input) input.action = actions output = ConnectEyePi().handleRequest(input) print(output) print(self.__unpickle_action(output.data, ActionEnum.PHONE)) if output.ok: self.__token = output.token
def make_agenda_call(self): config = self.__unpickle(self.__person.autorisations[ActionEnum.AGENDA].module_config) agenda_input = GetItemsActionInput() agenda_input.email = config.email input = EyePiInput() input.deviceToken = self.__devicetoken input.token = self.__token actions = dict() actions[ActionEnum.AGENDA] = self.__pickle(agenda_input) input.action = actions output = ConnectEyePi().handleRequest(input) print(output) print(self.__unpickle_action(output.data, ActionEnum.AGENDA)) if output.ok: print("output = ok") self.__token = output.token
root, dirs, files = next(os.walk(config.file_path)) imageCollection = list( filter(lambda filename: filename.endswith('.jpg'), files)) return random.choice(imageCollection) ### end test try: ## mock! ### # normally a device would properly register itself and keep the token. # But in development case, the cahce is resetted every time. This mock registers the device. device_token = DeviceRegistrator().register_device() ### end mock ### input = EyePiInput() filename = config.file_path + read_image() print('image == ' + filename) file = open(filename, 'rb') readfile = file.read() nparr = np.fromstring(readfile, np.uint8) image = cv2.imdecode(nparr, cv2.IMREAD_COLOR) input.image = pickle.dumps(obj=image, protocol=None, fix_imports=False) actions = dict() weather_input = WeatherInput() weather_input.location = 'Amsterdam,nl' actionParameter = pickle.dumps(obj=weather_input, protocol=None, fix_imports=False)
#!/usr/bin/env python # not used in this project. import sys sys.path.append('../gen-py') from ConnectionHelpers.ConnectEyePi import ConnectEyePi from EyePi.ttypes import EyePiInput from GenericStruct.ttypes import ActionEnum from thrift import Thrift import pickle try: input = EyePiInput() input.deviceToken = 'myLaptop' action = dict() action[ActionEnum.LOGIN] = pickle.dumps(obj="testdata", protocol=None, fix_imports=False) input.action = action ConnectEyePi().writeLog(input) except Thrift.TException as tx: print("%s" % (tx.message))