1.1 --- a/MoinForms.py Sun Dec 02 00:40:22 2012 +0100
1.2 +++ b/MoinForms.py Sun Dec 02 00:54:15 2012 +0100
1.3 @@ -115,6 +115,30 @@
1.4 max_index = -1
1.5 section[name] = {0 : placeholder}
1.6
1.7 +# Form and field information.
1.8 +
1.9 +def getFieldArguments(field_definition):
1.10 +
1.11 + "Return the parsed arguments from the given 'field_definition' string."
1.12 +
1.13 + field_args = {}
1.14 +
1.15 + for field_arg in field_definition.split():
1.16 +
1.17 + # Record the key-value details.
1.18 +
1.19 + try:
1.20 + argname, argvalue = field_arg.split("=", 1)
1.21 + field_args[argname] = argvalue
1.22 +
1.23 + # Single keywords are interpreted as type descriptions.
1.24 +
1.25 + except ValueError:
1.26 + if not field_args.has_key("type"):
1.27 + field_args["type"] = field_arg
1.28 +
1.29 + return field_args
1.30 +
1.31 # Common formatting functions.
1.32
1.33 def formatForm(text, request, fmt, attrs=None, write=None):
2.1 --- a/macros/FormField.py Sun Dec 02 00:40:22 2012 +0100
2.2 +++ b/macros/FormField.py Sun Dec 02 00:54:15 2012 +0100
2.3 @@ -8,7 +8,7 @@
2.4
2.5 from MoinMoin import wikiutil
2.6 from MoinSupport import *
2.7 -from MoinForms import parseMacroArguments
2.8 +from MoinForms import getFieldArguments, parseMacroArguments
2.9
2.10 Dependencies = ['pages']
2.11
2.12 @@ -97,21 +97,7 @@
2.13 except KeyError:
2.14 return showError(_("No entry for %s in %s.") % (name, dictpage), request)
2.15
2.16 - field_args = {}
2.17 -
2.18 - for field_arg in field_definition.split():
2.19 -
2.20 - # Record the key-value details.
2.21 -
2.22 - try:
2.23 - argname, argvalue = field_arg.split("=", 1)
2.24 - field_args[argname] = argvalue
2.25 -
2.26 - # Single keywords are interpreted as type descriptions.
2.27 -
2.28 - except ValueError:
2.29 - if not field_args.has_key("type"):
2.30 - field_args["type"] = field_arg
2.31 + field_args = getFieldArguments(field_definition)
2.32
2.33 # The field name is a combination of the path and the name.
2.34