示例#1
0
    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)
示例#2
0
    def loginWithUser(self):
        try:
            input = LoginInputObject()
            input.username = self.__username
            print(self.__password)
            encrypted_password = PasswordHelper.encryptPassword(
                self.__password)
            input.password = encrypted_password
            encrypted_code = PasswordHelper.encryptPassword(self.__code)
            input.code = encrypted_code
            input.deviceToken = self.__devicetoken
            input.token = self.__token
            inputDevice = DeviceTokenInput()
            inputDevice.ip = '127.0.0.1'
            inputDevice.devicetype = 'Development'
            input.deviceInput = inputDevice
            output = ConnectEyePi().login(input)
            print(output)
            if not output.uniquename == self.__uniquename:
                print("test fail")
            self.__devicetoken = output.deviceToken
            self.__token = output.token
            self.__autorisations = output.autorisations

        except Thrift.TException as tx:
            print("%s" % (tx.message))
示例#3
0
    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
示例#4
0
def test2():
    try:
        input = LoginInputObject()
        input.username = '******'
        input.password = None
        input.code = '12345'
        inputDevice = DeviceTokenInput()
        inputDevice.ip = '127.0.0.1'
        inputDevice.devicetype = 'Development'
        input.deviceInput = inputDevice
        output = ConnectEyePi().login(input)
        print(output)
    except Thrift.TException as tx:
        print("%s" % (tx.message))
示例#5
0
    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
示例#6
0
    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
示例#7
0
    def do_login(self, loginText, passwordText):
        app = App.get_running_app()

        try:

            input = LoginInputObject()
            input.username = loginText
            __password = PasswordHelper.hashPassword(passwordText)
            input.password = PasswordHelper.encryptPassword(__password)
            input.code = PasswordHelper.encryptPassword(
                PasswordHelper.hashPassword('123456ABCD'))
            input.token = None

            if app.deviceToken != 'None':
                input.deviceToken = app.deviceToken
            else:
                input.deviceToken = 'ABCDEFGH'

            inputDevice = DeviceTokenInput()
            inputDevice.ip = '127.0.0.1'
            inputDevice.devicetype = 'Development'
            input.deviceInput = inputDevice

            output = ConnectEyePi().login(input)

            print(output)
            if (output is None):
                self.ids.message.text = app.i18n.t('admin.invalid_login')
                return

            if output.deviceToken:
                app.deviceToken = output.deviceToken

            if (output.token is None):
                self.ids.message.text = app.i18n.t('admin.account_not_enabled')
                return

            self.dismiss()

        except Thrift.TException as tx:
            print("%s" % (tx.message))
示例#8
0
    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)
    actions[ActionEnum.WEATHER] = actionParameter
    input.action = actions
    #parameter = GenericObject()
    #parameter.stringValue = "%s" % 'Amsterdam,nl'

    input.deviceToken = device_token
    #input.action = ActionEnum.WEATHER
    #input.actionParameters = parameter

    output = ConnectEyePi().handleRequest(input)
    print(output)
    if output.ok:
        for face in output.personCollection:
            confirm_input = ConfirmInput()
            confirm_input.image = face.image
            confirm_input.person = face.person
            ConnectEyePi().confimFace(confirm_input)
except Thrift.TException as tx:
    print("%s" % (tx.message))
示例#9
0
#!/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))