From 5cc083c5bb37b01ec3c7be5909490d7b8dc7ee42 Mon Sep 17 00:00:00 2001 From: Serghei Mihai Date: Mon, 31 Oct 2016 17:20:22 +0100 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 diff --git a/extra/generate_formdata.py b/extra/generate_formdata.py new file mode 100644 index 0000000..b8a588d --- /dev/null +++ b/extra/generate_formdata.py @@ -0,0 +1,37 @@ +import time +import random +from wcs.formdef import FormDef + +import sys + +def get_form_fields(formdef): + data = {} + for field in formdef.fields: + if hasattr(field, 'items'): + # pick a random value from choices + data[field.id] = random.choice(field.items) + else: + value = field.varname or field.label + data[field.id] = '%s %s' % (value, random.randint(1, 10)) + return data + +def generate_formdata(form_slug, number=10, **kwargs): + try: + formdef = FormDef.get_by_urlname(form_slug) + except KeyError: + print >> sys.stderr, 'formdef does not exist' + sys.exit(1) + + for i in xrange(int(number)): + formdata = formdef.data_class()() + formdata.data = get_form_fields(formdef) + formdata.status = 'wf-new' + formdata.receipt_time = time.localtime(time.time()-random.randint(0, 3600)*i) + formdata.store() + + +if len(sys.argv) < 2: + print >> sys.stderr, 'form slug must be provided in arguments' + sys.exit(1) + +generate_formdata(*sys.argv[1:]) -- 2.10.2