From f0f2a30d7e1f9568d865be596786dda4327d55d5 Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Sat, 11 Jan 2020 21:17:08 +0000 Subject: [PATCH] Added versions and full names to default extensions --- .../api/default_extensions/autofocus.py | 2 +- openflexure_microscope/api/default_extensions/scan.py | 4 ++-- .../api/default_extensions/zip_builder.py | 2 +- .../common/flask_labthings/extensions.py | 10 +++------- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/openflexure_microscope/api/default_extensions/autofocus.py b/openflexure_microscope/api/default_extensions/autofocus.py index bfbe6cdc..85c35e40 100644 --- a/openflexure_microscope/api/default_extensions/autofocus.py +++ b/openflexure_microscope/api/default_extensions/autofocus.py @@ -359,7 +359,7 @@ class FastAutofocusAPI(Resource): abort(503, "No stage connected. Unable to autofocus.") -autofocus_extension_v2 = BaseExtension("autofocus") +autofocus_extension_v2 = BaseExtension("org.openflexure.autofocus", version="2.0.0-beta.1") autofocus_extension_v2.add_method(fast_autofocus, "fast_autofocus") autofocus_extension_v2.add_method(autofocus, "autofocus") diff --git a/openflexure_microscope/api/default_extensions/scan.py b/openflexure_microscope/api/default_extensions/scan.py index 214c0694..1ba66b4b 100644 --- a/openflexure_microscope/api/default_extensions/scan.py +++ b/openflexure_microscope/api/default_extensions/scan.py @@ -169,7 +169,7 @@ def tile( ) # Check if autofocus is enabled - autofocus_extension = find_extension("autofocus") + autofocus_extension = find_extension("org.openflexure.autofocus") if ( autofocus_dz and autofocus_extension @@ -396,6 +396,6 @@ class TileScanAPI(Resource): return task -scan_extension_v2 = BaseExtension("scan") +scan_extension_v2 = BaseExtension("org.openflexure.scan", version="2.0.0-beta.1") scan_extension_v2.add_view(TileScanAPI, "/tile") diff --git a/openflexure_microscope/api/default_extensions/zip_builder.py b/openflexure_microscope/api/default_extensions/zip_builder.py index fa1ea199..634a772c 100644 --- a/openflexure_microscope/api/default_extensions/zip_builder.py +++ b/openflexure_microscope/api/default_extensions/zip_builder.py @@ -146,7 +146,7 @@ class ZipGetterAPIView(Resource): return jsonify({"return": session_id}) -zip_extension_v2 = BaseExtension("zip_builder") +zip_extension_v2 = BaseExtension("org.openflexure.zipbuilder", version="2.0.0-beta.1") zip_extension_v2.add_view(ZipGetterAPIView, "/get/") zip_extension_v2.add_view(ZipListAPIView, "/get") diff --git a/openflexure_microscope/common/flask_labthings/extensions.py b/openflexure_microscope/common/flask_labthings/extensions.py index 94227c43..37bff401 100644 --- a/openflexure_microscope/common/flask_labthings/extensions.py +++ b/openflexure_microscope/common/flask_labthings/extensions.py @@ -20,8 +20,9 @@ class BaseExtension: Handles binding route views and forms. """ + # TODO: Allow adding components to extensions - def __init__(self, name: str, description=""): + def __init__(self, name: str, description="", version="0.0.0"): self._views = ( {} ) # Key: Full, Python-safe ID. Val: Original rule, and view class @@ -35,6 +36,7 @@ class BaseExtension: self.name = name self.description = get_docstring(self) + self.version = str(version) self.methods = {} @@ -64,12 +66,6 @@ class BaseExtension: # Store the rule expansion information self._rules[rule] = self._views[view_id] - def register_action(self, view_class): - self.actions.append(view_class) - - def register_property(self, view_class): - self.properties.append(view_class) - @property def meta(self): d = {}