def load_strategies() -> list: """Load strategies""" pkg_dir = os.path.dirname(__file__) for (module_loader, name, is_pkg) in pkgutil.iter_modules([pkg_dir]): importlib.import_module('.' + name, 'ex13_blackjack') return list( filter(lambda x: x.__name__ != HumanStrategy.__name__, Strategy.__subclasses__()))
def processOfferQuery(self, aQueryInConstruction): sStrategy = aQueryInConstruction.sStrategy try: aStrategy = next(sc for sc in Strategy.__subclasses__() if sc.strategyName() == aQueryInConstruction.sStrategy) aQueryInConstruction.strategy = aStrategy() except Exception: raise IllegalStrategy(aQueryInConstruction.sStrategy) return aQueryInConstruction
def strategies(self): cherrypy.response.headers["Content-Type"] = "text/plain" subclasses = Strategy.__subclasses__() subclassNameList = [] for aSubclass in subclasses: subclassNameList.append(aSubclass.strategyName()) return json.dumps(subclassNameList, ensure_ascii=False)
def load_strategies() -> list: """ Load strategies. @:return list of strategies that are in same package. DO NOT EDIT! """ pkg_dir = os.path.dirname(__file__) for (module_loader, name, is_pkg) in pkgutil.iter_modules([pkg_dir]): importlib.import_module(name) return list(filter(lambda x: x.__name__ != HumanStrategy.__name__, Strategy.__subclasses__()))