NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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 = []