1.1 --- a/MoinSupport.py Mon Dec 03 16:37:04 2012 +0100
1.2 +++ b/MoinSupport.py Fri Jan 04 22:57:15 2013 +0100
1.3 @@ -16,6 +16,13 @@
1.4 import re
1.5 import time
1.6
1.7 +# Moin 1.9 request parameters.
1.8 +
1.9 +try:
1.10 + from MoinMoin.support.werkzeug.datastructures import MultiDict
1.11 +except ImportError:
1.12 + pass
1.13 +
1.14 __version__ = "0.2"
1.15
1.16 # Content type parsing.
1.17 @@ -434,8 +441,9 @@
1.18 environment.
1.19 """
1.20
1.21 - def __init__(self, form):
1.22 - self.form = form
1.23 + def __init__(self, request):
1.24 + self.request = request
1.25 + self.form = request.values
1.26
1.27 def has_key(self, name):
1.28 return not not self.form.getlist(name)
1.29 @@ -450,14 +458,28 @@
1.30 def __getitem__(self, name):
1.31 return self.form.getlist(name)
1.32
1.33 + def __setitem__(self, name, value):
1.34 + try:
1.35 + self.form.setlist(name, value)
1.36 + except TypeError:
1.37 + self._write_enable()
1.38 + self.form.setlist(name, value)
1.39 +
1.40 def __delitem__(self, name):
1.41 - del self.form[name]
1.42 + try:
1.43 + del self.form[name]
1.44 + except TypeError:
1.45 + self._write_enable()
1.46 + del self.form[name]
1.47 +
1.48 + def _write_enable(self):
1.49 + self.form = self.request.values = MultiDict(self.form)
1.50
1.51 def keys(self):
1.52 return self.form.keys()
1.53
1.54 def items(self):
1.55 - return self.form.items(True)
1.56 + return self.form.lists()
1.57
1.58 class ActionSupport:
1.59
1.60 @@ -521,7 +543,7 @@
1.61 "Work around disruptive MoinMoin changes in 1.9."
1.62
1.63 if hasattr(request, "values"):
1.64 - return Form(request.values)
1.65 + return Form(request)
1.66 else:
1.67 return request.form
1.68