Esempio n. 1
0
 def create_rate_limiter(self, dic) -> BaseLimiter:
     config = {key.lower(): val for (key, val) in dic.items()}
     try:
         limiter = import_class(config.pop("backend"))
     except KeyError:
         limiter = import_class('pyot.limiters.MemoryLimiter')
     config["game"] = self._game
     config["api_key"] = self._api_key
     return limiter(**config)
Esempio n. 2
0
 def _make_pipeline(self, pipeline_configs):
     stores = []
     _track = []
     for config in pipeline_configs:
         config = {key.lower() if key.upper() == key else key: value for (key,value) in config.items()}
         store_cls = import_class(config.pop("backend"))
         if store_cls in _track and store_cls.unique == True:
             raise RuntimeError(f"Store '{store_cls.__name__}' should only have one instance in the pipeline")
         _track.append(store_cls)
         config.update({"game": self.MODEL.lower()})
         store = store_cls(**config)
         stores.append(store)
     return stores