class DummyTable(Table): def __init__(self, numrows=100, fields=None, wait=0, seed=None): self.numrows = numrows self.wait = wait if fields is None: self.fields = OrderedDict() else: self.fields = OrderedDict(fields) if seed is None: self.seed = datetime.datetime.now() else: self.seed = seed def __setitem__(self, item, value): self.fields[str(item)] = value def __iter__(self): nr = self.numrows seed = self.seed fields = self.fields.copy() # N.B., we want this to be stable, i.e., same data each time random.seed(seed) # construct header row hdr = tuple(str(f) for f in fields.keys()) yield hdr # construct data rows for _ in xrange(nr): # artificial delay if self.wait: time.sleep(self.wait) yield tuple(fields[f]() for f in fields) def reseed(self): self.seed = datetime.datetime.now()
class DummyTable(Table): def __init__(self, numrows=100, fields=None, wait=0, seed=None): self.numrows = numrows self.wait = wait if fields is None: self.fields = OrderedDict() else: self.fields = OrderedDict(fields) if seed is None: self.seed = datetime.datetime.now() else: self.seed = seed def __setitem__(self, item, value): self.fields[text_type(item)] = value def __iter__(self): nr = self.numrows seed = self.seed fields = self.fields.copy() # N.B., we want this to be stable, i.e., same data each time random.seed(seed) # construct header row hdr = tuple(text_type(f) for f in fields.keys()) yield hdr # construct data rows for _ in xrange(nr): # artificial delay if self.wait: time.sleep(self.wait) yield tuple(fields[f]() for f in fields) def reseed(self): self.seed = datetime.datetime.now()