Пример #1
0
    def __init__(self, **kwargs):
        global cookie
        global token

        self.success = None
        self.places = {}
        self.ws_uri = "wss://bc.irisbylowes.com/websocket"

        if not "profile" in kwargs:
            raise exception.MissingConstructorParameter(parameter="profile")

        self.debug = kwargs["debug"] if (
            "debug" in kwargs and isinstance(kwargs["debug"], bool)) else False
        self.logger = utils.configure_logger(debug=self.debug)

        auth = authenticator.Authenticator(profile=kwargs["profile"],
                                           debug=self.debug)
        auth.authenticate()
        token = auth.token
        cookie = "irisAuthToken={}".format(token)

        self.init()
        self.build_device_map()
        self.build_person_map()
        self.get_hub_id()

        #data = pkgutil.get_data("iris", "data/method-validator.json")
        #print(data)
        # This is a hack to get it to work until I can get python data to work
        pwd = os.path.dirname(os.path.realpath(__file__))
        vp = "{}/data/method-validator.json".format(pwd)
        self.validator = json.loads(open(vp, "r").read())
Пример #2
0
    def __init__(self, **kwargs):
        self.time_init = utils.now()
        self.success = None
        self.classname = utils.classname(self)
        self.websocket_uri = "wss://bc.irisbylowes.com/websocket"
        self.db_locked = False
        self.db_refresh_required = False

        if not "account" in kwargs:
            raise exception.MissingConstructorParameter(
                classname=self.classname, parameter="account")

        if "place_name" in kwargs:
            self.place_name = kwargs["place_name"]
        else:
            raise exception.MissingConstructorParameter(
                classname=self.classname, parameter="place_name")

        self.debug = kwargs["debug"] if (
            "debug" in kwargs and isinstance(kwargs["debug"], bool)) else False
        self.logger = utils.configure_logger(loggerid=self.classname,
                                             debug=self.debug)

        auth = authenticator.Authenticator(account=kwargs["account"],
                                           debug=self.debug)
        auth.authenticate()
        self.__init("irisAuthToken={}".format(auth.token))
Пример #3
0
    def __init__(self, **kwargs):
        self.response = {}
        self.success = True
        self.token = None

        if "account" in kwargs:
            self.account = kwargs["account"]
        else:
            raise exception.MissingConstructorParameter(parameter="account")

        self.debug = kwargs["debug"] if (
            "debug" in kwargs and isinstance(kwargs["debug"], bool)) else False
        self.logger = utils.configure_logger(debug=self.debug)
        self.authenticate()
Пример #4
0
	def __init__(self, **kwargs):
		self.success = True
		global logger

		classname = utils.classname(self)
		debug = kwargs["debug"] if ("debug" in kwargs and isinstance(kwargs["debug"], bool)) else False
		logger = utils.configure_logger(loggerid=classname, debug=debug)

		event = kwargs["event"]
		event_class = utils.classname(event)
		valid_classes = ["iris.events.Event"]

		if not event_class in valid_classes:
			logger.fatal("An invalid event was passed. The object is of type \"{}\".".format(event_class))
			sys.exit()

		self.event = event
		self.event_type = event.type
		self.success = self.event.success
		self.db_refresh_required = False
		self.time = now()

		dispatch = {
			"Closed": self.__process_closed_event,
			"Closing": self.__process_closing_event,
			"Connected": self.__process_connected_event,
			"ConnectFail": self.__process_connectfail_event,
			"Connecting": self.__process_connecting_event,
			"Disconnected": self.__process_dicsonnected_event,
			"Ping": self.__process_ping_event,
			"Poll": self.__process_poll_event,
			"Pong": self.__process_pong_event,
			"Ready": self.__process_ready_event,
			"Rejected": self.__process_rejected_event,
			"Text": self.__process_text_event,
			"UnknownMessage": self.__process_unknownmessage_event,
		}

		if event.type in dispatch:
			dispatch.get(event.type)()
		else:
			logger.debug("Unknown event type received: {}".format(event.type))
Пример #5
0
	def __init__(self, **kwargs):
		self.success = True
		global logger

		classname = utils.classname(self)
		debug = kwargs["debug"] if ("debug" in kwargs and isinstance(kwargs["debug"], bool)) else False
		logger = utils.configure_logger(loggerid=classname, debug=debug)

		event = kwargs["event"]
		event_class = utils.classname(event)
		lomond_classes = ["Closed", "Closing", "Connected", "ConnectFail", "Connecting", "Disconnected",
			"Ping", "Poll", "Pong", "Ready", "Rejected", "Text", "UnknownMessage"]
		valid_classes = ["lomond.events.{}".format(c) for c in lomond_classes]

		if not event_class in valid_classes:
			logger.fatal("An invalid lomond event was passed. The object is of type \"{}\".".format(event_class))
			sys.exit()

		self.type = event.__class__.__name__
		self.time = now()

		if self.type == "Connecting":
			self.url = event.url
			self.body = "Connecting to {}".format(event.url)

		elif self.type == "ConnectFail":
			self.success = False
			self.reason = event.reason
			self.body = self.reason

		elif self.type == "Rejected":
			self.success = False
			self.response = event.response
			self.reason = event.reason
			self.body = self.reason

		elif self.type == "Connected":
			self.body = "Successfully connected"

		elif self.type == "Ready":
			self.response = event.response
			self.protocol = event.protocol
			self.extensions = event.extensions
			self.body = event.response

		if self.type == "Text":
			self.body = event.text

		elif self.type == "Disconnected":
			self.graceful = event.graceful
			self.success = self.graceful
			self.reason = event.reason
			if self.graceful == True:
				self.body = "The websocket disconnected gracefully."
			else:
				self.success = False
				self.body = "The websocket disconnected unexpectedly: {}".format(self.reason)

		elif self.type == "Closing":
			self.code = event.code
			self.reason = event.reason
			self.body = "The websocket is closing: {}".format(self.reason)

		elif self.type == "Closed":
			self.code = event.code
			self.reason = event.reason
			self.body = "The websocket closed: {}".format(self.reason)

		elif self.type == "Poll":
			self.body = "websocket poll."

		elif self.type == "Ping":
			self.data = event.data
			self.body = "websocket ping"

		elif self.type == "Pong":
			self.data = event.data
			self.body = "websocket pong"