From 191975bd149dceac3efe51268acae484bf7c788f Mon Sep 17 00:00:00 2001 From: DYefremov Date: Fri, 10 Feb 2023 11:59:14 +0300 Subject: [PATCH] extension as singleton --- app/ui/extensions/__init__.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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"