[Checkins] SVN: z3c.datagenerator/trunk/src/z3c/datagenerator/ Use the crc32 function to ensure random seeds are the same on 64 bit Python
Shane Hathaway
shane at hathawaymix.org
Tue Dec 2 16:50:36 EST 2008
Log message for revision 93552:
Use the crc32 function to ensure random seeds are the same on 64 bit Python
Changed:
U z3c.datagenerator/trunk/src/z3c/datagenerator/demographics.py
U z3c.datagenerator/trunk/src/z3c/datagenerator/generator.py
U z3c.datagenerator/trunk/src/z3c/datagenerator/net.py
-=-
Modified: z3c.datagenerator/trunk/src/z3c/datagenerator/demographics.py
===================================================================
--- z3c.datagenerator/trunk/src/z3c/datagenerator/demographics.py 2008-12-02 21:10:24 UTC (rev 93551)
+++ z3c.datagenerator/trunk/src/z3c/datagenerator/demographics.py 2008-12-02 21:50:36 UTC (rev 93552)
@@ -18,6 +18,7 @@
__docformat__ = "reStructuredText"
import os
import random
+from zlib import crc32
import zope.interface
from z3c.datagenerator import generator
@@ -40,7 +41,7 @@
"""A social security data generator."""
def __init__(self, seed):
- self.random = random.Random(seed+'ssn')
+ self.random = random.Random(crc32(seed+'ssn'))
def get(self):
"""Compute a social security number."""
@@ -63,7 +64,7 @@
apts = True
def __init__(self, seed):
- self.random = random.Random(seed+'address')
+ self.random = random.Random(crc32(seed+'address'))
path = os.path.dirname(__file__)
file = open(os.path.join(path, self.streetNamesFile), 'r')
@@ -110,7 +111,7 @@
template = u'%i-%.3i-%.4i'
def __init__(self, seed):
- self.random = random.Random(seed+'ssn')
+ self.random = random.Random(crc32(seed+'ssn'))
def get(self):
"""Compute a social security number."""
Modified: z3c.datagenerator/trunk/src/z3c/datagenerator/generator.py
===================================================================
--- z3c.datagenerator/trunk/src/z3c/datagenerator/generator.py 2008-12-02 21:10:24 UTC (rev 93551)
+++ z3c.datagenerator/trunk/src/z3c/datagenerator/generator.py 2008-12-02 21:50:36 UTC (rev 93552)
@@ -20,6 +20,7 @@
import datetime
import os
import random
+from zlib import crc32
import zope.interface
from z3c.datagenerator import interfaces
@@ -30,7 +31,7 @@
zope.interface.implements(interfaces.IDataGenerator)
def __init__(self, seed, vocabulary):
- self.random = random.Random(seed)
+ self.random = random.Random(crc32(seed))
self.vocabulary = vocabulary
def get(self):
@@ -50,7 +51,7 @@
path = os.path.dirname(__file__)
def __init__(self, seed, filename):
- self.random = random.Random(seed+filename)
+ self.random = random.Random(crc32(seed+filename))
self.values = self._read(filename)
def get(self):
@@ -86,7 +87,7 @@
zope.interface.implements(interfaces.IDateDataGenerator)
def __init__(self, seed, start=None, end=None):
- self.random = random.Random(seed+'ssn')
+ self.random = random.Random(crc32(seed+'ssn'))
self.start = start or datetime.date(2000, 1, 1)
self.end = end or datetime.date(2007, 1, 1)
Modified: z3c.datagenerator/trunk/src/z3c/datagenerator/net.py
===================================================================
--- z3c.datagenerator/trunk/src/z3c/datagenerator/net.py 2008-12-02 21:10:24 UTC (rev 93551)
+++ z3c.datagenerator/trunk/src/z3c/datagenerator/net.py 2008-12-02 21:50:36 UTC (rev 93552)
@@ -18,6 +18,7 @@
__docformat__ = "reStructuredText"
import os
import random
+from zlib import crc32
import zope.interface
from z3c.datagenerator import demographics, generator, interfaces
@@ -28,7 +29,7 @@
zope.interface.implements(interfaces.IDataGenerator)
def __init__(self, seed):
- self.random = random.Random(seed+'ip')
+ self.random = random.Random(crc32(seed+'ip'))
def get(self):
"""Select a value from the values list and return it."""
@@ -48,7 +49,7 @@
pattern = u'%(firstInitial)s%(lastName)s'
def __init__(self, seed):
- self.random = random.Random(seed+'username')
+ self.random = random.Random(crc32(seed+'username'))
self.firstNames = demographics.FirstNameGenerator(seed)
self.lastNames = demographics.LastNameGenerator(seed)
@@ -80,7 +81,7 @@
pattern = '%(uname)s@%(domain)s%(tld)s'
def __init__(self, seed):
- self.random = random.Random(seed+'username')
+ self.random = random.Random(crc32(seed+'username'))
self.usernames = UsernameDataGenerator(seed)
self.words = generator.TextDataGenerator(seed, self.wordsFile)
self.tlds = generator.CSVDataGenerator(seed, self.tldsFile)
More information about the Checkins
mailing list