0001-add-script-for-generating-formdata-13805.patch
extra/generate_formdata.py | ||
---|---|---|
1 |
import time |
|
2 |
import random |
|
3 |
from wcs.formdef import FormDef |
|
4 | ||
5 |
import sys |
|
6 | ||
7 |
def get_form_fields(formdef): |
|
8 |
data = {} |
|
9 |
for field in formdef.fields: |
|
10 |
if hasattr(field, 'items'): |
|
11 |
# pick a random value from choices |
|
12 |
data[field.id] = random.choice(field.items) |
|
13 |
else: |
|
14 |
value = field.varname or field.label |
|
15 |
data[field.id] = '%s %s' % (value, random.randint(1, 10)) |
|
16 |
return data |
|
17 | ||
18 |
def generate_formdata(form_slug, number=10, **kwargs): |
|
19 |
try: |
|
20 |
formdef = FormDef.get_by_urlname(form_slug) |
|
21 |
except KeyError: |
|
22 |
print >> sys.stderr, 'formdef does not exist' |
|
23 |
sys.exit(1) |
|
24 | ||
25 |
for i in xrange(int(number)): |
|
26 |
formdata = formdef.data_class()() |
|
27 |
formdata.data = get_form_fields(formdef) |
|
28 |
formdata.status = 'wf-new' |
|
29 |
formdata.receipt_time = time.localtime(time.time()-random.randint(0, 3600)*i) |
|
30 |
formdata.store() |
|
31 | ||
32 | ||
33 |
if len(sys.argv) < 2: |
|
34 |
print >> sys.stderr, 'form slug must be provided in arguments' |
|
35 |
sys.exit(1) |
|
36 | ||
37 |
generate_formdata(*sys.argv[1:]) |
|
0 |
- |