sumit
6/3/2019 - 2:22 PM

singleton

# Singleton class for params
from PIL import ImageGrab
import numpy as np

class Singleton(type):
    _instances = {}
    def __call__(cls, *args, **kwargs):
        if cls not in cls._instances:
            cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
        return cls._instances[cls]

class Parameters(metaclass=Singleton):
    pass

    def getScreensize(self):
        self.screenshot_size = np.array(ImageGrab.grab().convert('RGB')).shape


"""
from Parameters import Parameters
p1 = Parameters()
p1.getScreensize()
p1.screenshot_size

p2 = Parameters()
p2.screenshot_size

"""