def __init__(self, strat):
self.log = logging.getLogger('strategy.StrategyIterator({})'.format(str(strat)))
self.strategy = strat
sig = inspect.signature(strat.generate)
params = sig.parameters
kws = {}
self.log.debug('init')
for kw in params:
if kw in strat._kws:
self.log.debug('add keyword {kw}'.format(kw=kw))
kws[kw] = strat._kws[kw]
elif params[kw].kind == inspect.Parameter.VAR_KEYWORD:
self.log.debug('merge keywords on VAR_KEYWORD {kw}'.format(kw=kw))
kws.update(strat._kws)
break
self._generator = strat.generate(strat._depth, *strat._args, **kws)
评论列表
文章目录