From 07284017fd768cf265c0bf896aa22799cd14db0f Mon Sep 17 00:00:00 2001 From: scottsanderson Date: Thu, 2 Aug 2012 15:04:28 -0400 Subject: [PATCH] rewinds --- zipline/gens/tradegens.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/zipline/gens/tradegens.py b/zipline/gens/tradegens.py index 8552b530..2c49ea19 100644 --- a/zipline/gens/tradegens.py +++ b/zipline/gens/tradegens.py @@ -80,14 +80,25 @@ class SpecificEquityTrades(object): # Hash_value for downstream sorting. self.arg_string = hash_args(*args, **kwargs) + + self.generator = self.create_fresh_generator() + + def __iter__(self): + return self.generator + + def next(self): + return self.generator.next() + + def rewind(self): + self.generator = self.create_fresh_generator() def get_hash(self): return self.__class__.__name__ + "-" + self.arg_string - def __iter__(self): + def create_fresh_generator(self): if self.event_list: - unfiltered = (event for event in event_list) + unfiltered = (event for event in self.event_list) # Set up iterators for each expected field. else: