diff --git a/timeseriesviewer/utils.py b/timeseriesviewer/utils.py index fe2d839099e298973d786c242917337042558242..66b67f6962da14ad1057437db0d4095283e4f1f7 100644 --- a/timeseriesviewer/utils.py +++ b/timeseriesviewer/utils.py @@ -237,6 +237,13 @@ class SpatialExtent(QgsRectangle): return '{} {} {}'.format(self.upperLeft(), self.lowerRight(), self.crs().authid()) +class Singleton(type): + _instances = {} + + def __call__(cls, *args, **kwds): + if cls not in cls._instances: + cls._instances[cls] = super(Singleton, cls).__call__(*args,**kwds) + return cls._instances[cls] class KeepRefs(object): __refs__ = defaultdict(list)