Пример #1
0
 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__()))
Пример #2
0
	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
Пример #3
0
 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)
Пример #4
0
    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__()))