1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/MoinContentSupport.py Sun Aug 15 01:52:41 2010 +0200
1.3 @@ -0,0 +1,70 @@
1.4 +# -*- coding: iso-8859-1 -*-
1.5 +"""
1.6 + MoinMoin - MoinContentSupport library
1.7 +
1.8 + @copyright: 2008, 2009, 2010 by Paul Boddie <paul@boddie.org.uk>
1.9 + @copyright: 2000-2004 Juergen Hermann <jh@web.de>,
1.10 + 2005-2008 MoinMoin:ThomasWaldmann.
1.11 + @license: GNU GPL (v2 or later), see COPYING.txt for details.
1.12 +"""
1.13 +
1.14 +__version__ = "0.1"
1.15 +
1.16 +# Utility classes and associated functions.
1.17 +# NOTE: These are a subset of EventAggregatorSupport.
1.18 +
1.19 +class Form:
1.20 +
1.21 + """
1.22 + A wrapper preserving MoinMoin 1.8.x (and earlier) behaviour in a 1.9.x
1.23 + environment.
1.24 + """
1.25 +
1.26 + def __init__(self, form):
1.27 + self.form = form
1.28 +
1.29 + def get(self, name, default=None):
1.30 + values = self.form.getlist(name)
1.31 + if not values:
1.32 + return default
1.33 + else:
1.34 + return values
1.35 +
1.36 + def __getitem__(self, name):
1.37 + return self.form.getlist(name)
1.38 +
1.39 +class ActionSupport:
1.40 +
1.41 + """
1.42 + Work around disruptive MoinMoin changes in 1.9, and also provide useful
1.43 + convenience methods.
1.44 + """
1.45 +
1.46 + def get_form(self):
1.47 + return get_form(self.request)
1.48 +
1.49 +def get_form(request):
1.50 +
1.51 + "Work around disruptive MoinMoin changes in 1.9."
1.52 +
1.53 + if hasattr(request, "values"):
1.54 + return Form(request.values)
1.55 + else:
1.56 + return request.form
1.57 +
1.58 +class send_headers:
1.59 +
1.60 + """
1.61 + A wrapper to preserve MoinMoin 1.8.x (and earlier) request behaviour in a
1.62 + 1.9.x environment.
1.63 + """
1.64 +
1.65 + def __init__(self, request):
1.66 + self.request = request
1.67 +
1.68 + def __call__(self, headers):
1.69 + for header in headers:
1.70 + parts = header.split(":")
1.71 + self.request.headers.add(parts[0], ":".join(parts[1:]))
1.72 +
1.73 +# vim: tabstop=4 expandtab shiftwidth=4