diff --git a/app/ui/extensions/__init__.py b/app/ui/extensions/__init__.py index d9609036..54058f6a 100644 --- a/app/ui/extensions/__init__.py +++ b/app/ui/extensions/__init__.py @@ -26,7 +26,16 @@ # -class BaseExtension: +class Singleton(type): + _INSTANCE = None + + def __call__(cls, *args, **kwargs): + if not cls._INSTANCE: + cls._INSTANCE = type.__call__(cls, *args, **kwargs) + return cls._INSTANCE + + +class BaseExtension(metaclass=Singleton): """ Base extension (plugin) class. """ # The label that will be displayed in the "Tools" menu. LABEL = "Base extension"