leaf-framework 0.5.0__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/PKG-INFO +1 -1
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/utility/running_utilities.py +9 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/pyproject.toml +1 -1
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/LICENSE +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/README.md +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/adapters/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/adapters/core_adapters/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/adapters/core_adapters/continuous_experiment_adapter.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/adapters/core_adapters/discrete_experiment_adapter.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/adapters/core_adapters/upload_adapter.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/adapters/equipment_adapter.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/config/configuration.yaml +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/data/marketplace.yaml +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/error_handler/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/error_handler/error_holder.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/error_handler/exceptions.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/measurement_handler/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/measurement_handler/handler.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/measurement_handler/measurements.yaml +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/measurement_handler/terms.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/.gitkeep +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/ble_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/db_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/event_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/external_api_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/external_event_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/file_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/http_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/modbus_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/mqtt_external_event_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/mqtt_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/opc_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/polling_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/simple_watcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/carbon_dioxide.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/dissolved_oxygen.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/fluorescence.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/measurement_module.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/optical_density.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/ph.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/temperature.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/output_modules/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/output_modules/file.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/output_modules/keydb.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/output_modules/mqtt.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/output_modules/output_module.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/output_modules/sql.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/output_modules/topic_store.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/control.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/error.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/external_event_phase.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/initialisation.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/measure.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/phase.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/start.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/stop.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/continous_module.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/discrete_module.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/external_event_process.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/process_module.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/upload_module.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/register/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/register/abstract_leaf.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/register/equipment_actions.yaml +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/register/equipment_data.yaml +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/register/metadata.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/register/py.typed +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/register/topic_utilities.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/registry/discovery.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/registry/loader.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/registry/registry.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/registry/utils.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/start.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/adapter_ui_extension.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/components/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/components/header.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/constants.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/desktop_launcher.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/images/icon.icns +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/images/icon.ico +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/images/icon.svg +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/interface.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/markdown/configuration_help.md +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/markdown/documentation_main.md +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/markdown/documentation_protips.md +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/scripts.js +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/styles.css +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/tabs/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/tabs/adapters.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/tabs/configuration.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/tabs/documentation.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/tabs/logs.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/tabs/monitoring.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/ui/utils.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/utility/config_utils.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/utility/logger/__init__.py +0 -0
- {leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/utility/logger/logger_utils.py +0 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import inspect
|
|
2
|
+
import os
|
|
3
|
+
import tempfile
|
|
2
4
|
import threading
|
|
3
5
|
import time
|
|
4
6
|
from typing import Any
|
|
@@ -6,6 +8,7 @@ from typing import Any
|
|
|
6
8
|
from leaf.adapters.equipment_adapter import EquipmentAdapter
|
|
7
9
|
from leaf.error_handler.error_holder import ErrorHolder
|
|
8
10
|
from leaf.error_handler.exceptions import AdapterBuildError
|
|
11
|
+
from leaf.modules.output_modules.file import FILE
|
|
9
12
|
from leaf.modules.output_modules.mqtt import MQTT
|
|
10
13
|
from leaf.modules.output_modules.output_module import OutputModule
|
|
11
14
|
from leaf.register.topic_utilities import topic_utilities
|
|
@@ -108,6 +111,12 @@ def build_output_module(config: dict[str, Any], error_holder: ErrorHolder) -> Ou
|
|
|
108
111
|
if fallback_code not in output_objects:
|
|
109
112
|
raise AdapterBuildError(f"Can't find fallback output: {fallback_code}")
|
|
110
113
|
output_objects[code]["output"].set_fallback(output_objects[fallback_code]["output"])
|
|
114
|
+
elif code not in fallback_codes and code not in parallel_codes:
|
|
115
|
+
leaf_tmp_dir = os.path.join(tempfile.gettempdir(), "leaf")
|
|
116
|
+
os.makedirs(leaf_tmp_dir, exist_ok=True)
|
|
117
|
+
tmp_path = os.path.join(leaf_tmp_dir, f"{code}_fallback.json")
|
|
118
|
+
output_objects[code]["output"].set_fallback(FILE(filename=tmp_path, error_holder=error_holder))
|
|
119
|
+
logger.warning(f"No fallback configured for '{code}', defaulting to {tmp_path}")
|
|
111
120
|
|
|
112
121
|
# Wire up parallels
|
|
113
122
|
for code, out_data in output_objects.items():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/external_api_watcher.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/input_modules/external_event_watcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/carbon_dioxide.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/dissolved_oxygen.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/fluorescence.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/measurement_module.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/optical_density.py
RENAMED
|
File without changes
|
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/measurement_modules/temperature.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/phase_modules/external_event_phase.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/continous_module.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/discrete_module.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/external_event_process.py
RENAMED
|
File without changes
|
{leaf_framework-0.5.0 → leaf_framework-0.6.0}/leaf/modules/process_modules/process_module.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|