adding max_amount to realistic.names generator

Set max_amount to limit the number of names yeilded by the generator.
This commit is contained in:
Steven Berler 2011-07-22 10:55:58 -07:00 committed by Tommi Virtanen
parent a775f5da04
commit b465596063

View file

@ -137,12 +137,13 @@ def files(mean, stddev, seed=None):
break
yield RandomContentFile(size=size, seed=rand.getrandbits(32))
def names(mean, stddev, charset=None, seed=None):
def names(mean, stddev, charset=None, seed=None, max_amount=None):
"""
Yields strings that are somewhat plausible as file names, where
the lenght of each filename follows the normal distribution with
`mean` and `stddev`.
"""
count = 0
if charset is None:
charset = string.ascii_lowercase
rand = random.Random(seed)
@ -154,6 +155,11 @@ def names(mean, stddev, charset=None, seed=None):
name = ''.join(rand.choice(charset) for _ in xrange(length))
yield name
count += 1
if count == max_amount:
return
def files_varied(groups, unlimited=False):
""" Yields a weighted-random selection of file-like objects. """
# Quick data type sanity.