Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/alice-smart-home.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2021-12-07 12:53:15 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2021-12-07 12:53:15 +0300
commitb01c027998979c01cc19e4685d0c7fa5c0c619e6 (patch)
tree3d50fd62cd04bbdad9f7f7de450ceb927e49c9cc
parenta779020a7cb52459f24401d0ae49915b77e8be6b (diff)
Alternative method naming
-rw-r--r--alice.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/alice.py b/alice.py
index 750d21b..1a6bf54 100644
--- a/alice.py
+++ b/alice.py
@@ -255,7 +255,9 @@ def query():
# Load device module
device_module = importlib.import_module(device['id'])
# Get query method
- query_method = getattr(device_module, device["id"] + "_query")
+ query_method = getattr(device_module, "query", None)
+ if not query_method: query_method = getattr(device_module, device['id'] + "_query", None)
+ if not query_method: raise NotImplementedError(f"Neither \"query\" nor \"{device['id'] + '_query'}\" method was found in {device['id']} module")
# Call it for every requested capability
for capability in device_info['capabilities']:
# But skip it if it's not retrievable
@@ -306,7 +308,9 @@ def action():
# Load device module
device_module = importlib.import_module(device['id'])
# Get action method
- action_method = getattr(device_module, device["id"] + "_action")
+ action_method = getattr(device_module, "action", None)
+ if not action_method: action_method = getattr(device_module, device['id'] + "_action", None)
+ if not action_method: raise NotImplementedError(f"Neither \"action\" nor \"{device['id'] + '_action'}\" method was found in {device['id']} module")
# Call it for every requested capability
for capability in device['capabilities']:
# Pass parameters: capability type, instance, new value and relative parameter (if any)