Projet

Général

Profil

0001-add-script-for-generating-formdata-13805.patch

Serghei Mihai, 31 octobre 2016 17:22

Télécharger (1,62 ko)

Voir les différences:

Subject: [PATCH] add script for generating formdata (#13805)

 extra/generate_formdata.py | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 extra/generate_formdata.py
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
-