From fdeb715c9f670deb819785a833fd0d9e47ce75ed Mon Sep 17 00:00:00 2001 From: Aruna Tennakoon Date: Sun, 26 Jun 2022 19:29:05 +0700 Subject: [PATCH] 2.6.2 - Fix NoneType object is not callable --- CHANGELOG.md | 5 +++++ setup.py | 5 ++--- sinric/_cbhandler.py | 43 +++++-------------------------------------- sinric/_sinricpro.py | 7 +++++-- 4 files changed, 17 insertions(+), 43 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc402f5..08bea1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## [2.6.2] + +### Bugfix +* **'NoneType' object is not callable** + ## [2.6.1] ### Features diff --git a/setup.py b/setup.py index 154be4a..7f77acd 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ if sys.version_info < (3,6): sys.exit('Sorry, Python < 3.6 is not supported') -VERSION = "2.6.1" +VERSION = "2.6.2" with open('README.rst', 'r') as f: long_description = f.read() @@ -26,8 +26,7 @@ url="https://github.com/sinricpro/python-sdk", packages=['sinric'], install_requires=["websockets==10.1","loguru"], - keywords=['alexa', 'alexa-skill', 'sinric', 'sinric-alexa-skill', 'alexa-home-automation', 'sinric-pro', - 'sinric-pro-alexa-skill'], + keywords=['sinric', 'sinric-pro'], classifiers=[ "Programming Language :: Python :: 3", "Operating System :: OS Independent", diff --git a/sinric/_cbhandler.py b/sinric/_cbhandler.py index 36d19f5..7702933 100644 --- a/sinric/_cbhandler.py +++ b/sinric/_cbhandler.py @@ -251,8 +251,6 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - - elif jsn.get('payload').get('action') == JSON_COMMANDS.get('ADJUSTRANGEVALUE'): try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -300,7 +298,6 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - elif jsn.get('payload').get('action') == JSON_COMMANDS.get('SETVOLUME'): try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -317,8 +314,6 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - - elif jsn.get('payload').get('action') == 'adjustVolume': try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -335,8 +330,6 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - - elif jsn.get('payload').get('action') == 'mediaControl': try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -365,7 +358,6 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - elif jsn.get('payload').get('action') == 'changeChannel': try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -383,7 +375,6 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - elif jsn.get('payload').get('action') == 'skipChannels': try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -456,7 +447,6 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - elif jsn.get('payload').get('action') == 'resetBands': try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -482,10 +472,7 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: self.logger.error("Signature verification failed for " + jsn.get('payload').get('action')) except Exception as e: self.logger.error(str(e)) - - - - + elif jsn.get('payload').get('action') == 'setMode': try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -500,8 +487,7 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: self.logger.error("Signature verification failed for " + jsn.get('payload').get('action')) except Exception as e: self.logger.error(str(e)) - - + elif jsn.get('payload').get('action') == 'setLockState': try: assert (self.verifySignature(jsn.get('payload'), jsn.get("signature").get("HMAC"))) @@ -517,117 +503,98 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: except Exception as e: self.logger.error(str(e)) - ############################ EVENTS ########################################################### + ############################ EVENTS ########################################################### if Trace == 'doorbell_event_response': if self.bucket.addDrop(): self.logger.info('Sending Doorbell Event Response') await connection.send(dumps(jsn)) - elif Trace == 'temp_hum_event_response': if self.bucket.addDrop(): self.logger.info('Sending temperature humidity response') await connection.send(dumps(jsn)) - elif Trace == 'setpowerstate_event_response': if self.bucket.addDrop(): self.logger.info('Sending setpowerstate_event_response') await connection.send(dumps(jsn)) - elif Trace == 'setPowerLevel_event_response': if self.bucket.addDrop(): self.logger.info('Sending setPowerLevel_event_response') await connection.send(dumps(jsn)) - elif Trace == 'setBrightness_event_response': if self.bucket.addDrop(): self.logger.info('Sending setBrightness_event_response') await connection.send(dumps(jsn)) - elif Trace == 'setColor_event_response': if self.bucket.addDrop(): self.logger.info('Sending setColor_event_response') await connection.send(dumps(jsn)) - elif Trace == 'setColorTemperature_event_response': if self.bucket.addDrop(): self.logger.info('Sending setColorTemperature_event_response') await connection.send(dumps(jsn)) - elif Trace == 'setThermostatMode_event_response': if self.bucket.addDrop(): self.logger.info('Sending setThermostatMode_event_response') await connection.send(dumps(jsn)) - elif Trace == 'setRangeValue_event_response': if self.bucket.addDrop(): self.logger.info('Sending setRangeValue_event_response') await connection.send(dumps(jsn)) - elif Trace == 'motion_event_response': if self.bucket.addDrop(): self.logger.info('Sending motion_event_response') await connection.send(dumps(jsn)) - elif Trace == 'contact_event_response': if self.bucket.addDrop(): self.logger.info('Sending contact_event_response') await connection.send(dumps(jsn)) - elif Trace == 'set_volume_event_response': if self.bucket.addDrop(): self.logger.info('Sending set_volume_event_response') await connection.send(dumps(jsn)) - elif Trace == 'select_input_event_response': if self.bucket.addDrop(): self.logger.info('Sending select_input_event_response') await connection.send(dumps(jsn)) - elif Trace == 'media_control_event_response': if self.bucket.addDrop(): self.logger.info('Sending media_control_event_response') await connection.send(dumps(jsn)) - elif Trace == 'change_channel_event_response': if self.bucket.addDrop(): self.logger.info('Sending change_channel_event_response') await connection.send(dumps(jsn)) - elif Trace == 'set_bands_event_response': if self.bucket.addDrop(): self.logger.info('Sending set_bands_event_response') await connection.send(dumps(jsn)) - - elif Trace == 'set_mode_event_response': if self.bucket.addDrop(): self.logger.info('Sending set_mode_event_response') await connection.send(dumps(jsn)) - elif Trace == 'set_lock_event_response': if self.bucket.addDrop(): self.logger.info('Sending set_lock_event_response') await connection.send(dumps(jsn)) - elif Trace == 'reset_bands_event_response': if self.bucket.addDrop(): self.logger.info('Sending reset_bands_event_response') @@ -638,5 +605,5 @@ def jsnHandle(action, resp, dataDict, instanceId='') -> dict: self.logger.info('Sending pushNotification_event') await connection.send(dumps(jsn)) - else: - self.logger.info(Trace + ' not found!') \ No newline at end of file + #else: + # self.logger.info(Trace + ' not found!') \ No newline at end of file diff --git a/sinric/_sinricpro.py b/sinric/_sinricpro.py index 4de0676..5bfc574 100644 --- a/sinric/_sinricpro.py +++ b/sinric/_sinricpro.py @@ -53,10 +53,13 @@ async def connect(self, udp_client=None, sleep=0): self.connection = await self.socket.connect() receive_message_task = asyncio.create_task(self.socket.receiveMessage(connection=self.connection)) handle_queue_task = asyncio.create_task(self.socket.handleQueue()) - handle_event_queue_task = asyncio.create_task(self.event_callbacks()) + await receive_message_task await handle_queue_task - await handle_event_queue_task + + if self.event_callbacks is not None: + handle_event_queue_task = asyncio.create_task(self.event_callbacks()) + await handle_event_queue_task except KeyboardInterrupt: self.logger.error('Keyboard interrupt')