pool.py (815B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\graphs\pool.py 2 3 4 class Pool: 5 6 def __init__(self, instance_type, *args, **kwargs): 7 self._positional_attributes = args 8 self._keyword_attributes = kwargs 9 self.instance_type = instance_type 10 self.pool = [] 11 12 def get_instance(self): 13 if len(self.pool) > 0: 14 return self.pool.pop(0) 15 return self.instance_type(*self._positional_attributes, **self._keyword_attributes) 16 17 def return_instance(self, instance): 18 if not isinstance(instance, self.instance_type): 19 return 20 instance.SetParent(None) 21 self.pool.append(instance) 22 23 def empty(self): 24 for instance in self.pool: 25 instance.Close() 26 27 self.pool = []