diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-12-07 12:53:15 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-12-07 12:53:15 +0300 |
commit | b01c027998979c01cc19e4685d0c7fa5c0c619e6 (patch) | |
tree | 3d50fd62cd04bbdad9f7f7de450ceb927e49c9cc | |
parent | a779020a7cb52459f24401d0ae49915b77e8be6b (diff) |
Alternative method naming
-rw-r--r-- | alice.py | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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) |