%page args="element, eaiAttributes, form_defaults" /> <%! import random, re, urllib import splunk.util as util isLite = splunk.util.normalizeBoolean(cherrypy.config['product_type'] == 'lite' or cherrypy.config['product_type'] == 'lite_free') %> <% subelement = element.get('element') if not subelement: raise Exception("repeatable element didn't define an element to be repeated") prefix = element.get('fieldprefix') if prefix is None: prefix = '' regex = None pattern = element.get('fieldprefixregex') if pattern: regex = re.compile(pattern) if not regex: raise Exception("repeatable failed to compile field regex pattern: %s" % pattern) if not prefix: if regex: raise Exception("repeatable element didn't define a field prefix to accompany regex") else: raise Exception("repeatable element didn't define a field prefix") ignoreprefix = element.get('ignoreprefix') ignorepattern = element.get('ignorepattern') ignoreregex = None if ignorepattern: ignoreregex = re.compile(ignorepattern) if not ignoreregex: raise Exception("repeatable failed to compile field ignoreregex pattern: %s" % ignorepattern) widget = subelement['type'] if 'type' in subelement else 'textfield' # find all existing elements to be repeated form_default_keys = form_defaults.keys() form_default_keys.sort() id = random.randint(0,1000000000) settings = jsonify({'prefix': prefix, 'mincount': element.get('mincount', 0), 'maxcount': element.get('maxcount', -1), 'submitDeleted': util.normalizeBoolean(element.get('submitDeleted', True))}) %>