populate list without duplicates, thanks simonm3
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.00.0 (2012-07-11 18:16:55) dev
|
Version 2.00.0 (2012-07-11 18:21:38) dev
|
||||||
|
|||||||
@@ -103,11 +103,8 @@ def populate(table, n, default=True, compute=False):
|
|||||||
elif field.type=='list:integer' and hasattr(field.requires,'options'):
|
elif field.type=='list:integer' and hasattr(field.requires,'options'):
|
||||||
options=field.requires.options(zero=False)
|
options=field.requires.options(zero=False)
|
||||||
if len(options) > 0:
|
if len(options) > 0:
|
||||||
vals = []
|
record[fieldname] = [item[0] for item in random.sample(options, random.randint(0,len(options)-1)/2)]
|
||||||
for i in range(0, random.randint(0,len(options)-1)/2):
|
elif field.type == 'integer':
|
||||||
vals.append(options[random.randint(0,len(options)-1)][0])
|
|
||||||
record[fieldname] = vals
|
|
||||||
elif field.type =='integer':
|
|
||||||
try:
|
try:
|
||||||
record[fieldname] = random.randint(field.requires.minimum,field.requires.maximum-1)
|
record[fieldname] = random.randint(field.requires.minimum,field.requires.maximum-1)
|
||||||
except:
|
except:
|
||||||
@@ -143,19 +140,13 @@ def populate(table, n, default=True, compute=False):
|
|||||||
ids[tablename] = [x.id for x in table._db(table._db[field.type[15:]].id>0).select()]
|
ids[tablename] = [x.id for x in table._db(table._db[field.type[15:]].id>0).select()]
|
||||||
n = len(ids[tablename])
|
n = len(ids[tablename])
|
||||||
if n:
|
if n:
|
||||||
vals = []
|
record[fieldname] = [item[0] for item in random.sample(ids[tablename], random.randint(0,n-1)/2)]
|
||||||
for i in range(0, random.randint(0,n-1)/2):
|
|
||||||
vals.append(ids[tablename][random.randint(0,n-1)])
|
|
||||||
record[fieldname] = vals
|
|
||||||
else:
|
else:
|
||||||
record[fieldname] = 0
|
record[fieldname] = 0
|
||||||
elif field.type=='list:string' and hasattr(field.requires,'options'):
|
elif field.type=='list:string' and hasattr(field.requires,'options'):
|
||||||
options=field.requires.options(zero=False)
|
options=field.requires.options(zero=False)
|
||||||
if len(options) > 0:
|
if len(options) > 0:
|
||||||
vals = []
|
record[fieldname] = [item[0] for item in random.sample(options, random.randint(0,len(options)-1)/2)]
|
||||||
for i in range(0, random.randint(0,len(options)-1)/2):
|
|
||||||
vals.append(options[random.randint(0,len(options)-1)][0])
|
|
||||||
record[fieldname] = vals
|
|
||||||
elif field.type=='string' and hasattr(field.requires,'options'):
|
elif field.type=='string' and hasattr(field.requires,'options'):
|
||||||
options=field.requires.options(zero=False)
|
options=field.requires.options(zero=False)
|
||||||
record[fieldname] = options[random.randint(0,len(options)-1)][0]
|
record[fieldname] = options[random.randint(0,len(options)-1)][0]
|
||||||
|
|||||||
Reference in New Issue
Block a user