# HG changeset patch # User Paul Boddie # Date 1354406055 -3600 # Node ID 8fe065e89206cd40abac19c8e0ac46e931f101e2 # Parent 115c012b287ee046953671ff65b14fd508647b05 Moved field description processing into the library. diff -r 115c012b287e -r 8fe065e89206 MoinForms.py --- a/MoinForms.py Sun Dec 02 00:40:22 2012 +0100 +++ b/MoinForms.py Sun Dec 02 00:54:15 2012 +0100 @@ -115,6 +115,30 @@ max_index = -1 section[name] = {0 : placeholder} +# Form and field information. + +def getFieldArguments(field_definition): + + "Return the parsed arguments from the given 'field_definition' string." + + field_args = {} + + for field_arg in field_definition.split(): + + # Record the key-value details. + + try: + argname, argvalue = field_arg.split("=", 1) + field_args[argname] = argvalue + + # Single keywords are interpreted as type descriptions. + + except ValueError: + if not field_args.has_key("type"): + field_args["type"] = field_arg + + return field_args + # Common formatting functions. def formatForm(text, request, fmt, attrs=None, write=None): diff -r 115c012b287e -r 8fe065e89206 macros/FormField.py --- a/macros/FormField.py Sun Dec 02 00:40:22 2012 +0100 +++ b/macros/FormField.py Sun Dec 02 00:54:15 2012 +0100 @@ -8,7 +8,7 @@ from MoinMoin import wikiutil from MoinSupport import * -from MoinForms import parseMacroArguments +from MoinForms import getFieldArguments, parseMacroArguments Dependencies = ['pages'] @@ -97,21 +97,7 @@ except KeyError: return showError(_("No entry for %s in %s.") % (name, dictpage), request) - field_args = {} - - for field_arg in field_definition.split(): - - # Record the key-value details. - - try: - argname, argvalue = field_arg.split("=", 1) - field_args[argname] = argvalue - - # Single keywords are interpreted as type descriptions. - - except ValueError: - if not field_args.has_key("type"): - field_args["type"] = field_arg + field_args = getFieldArguments(field_definition) # The field name is a combination of the path and the name.