1 # -*- coding: iso-8859-1 -*- 2 """ 3 MoinMoin - MoinContentSupport library 4 5 @copyright: 2008, 2009, 2010 by Paul Boddie <paul@boddie.org.uk> 6 @copyright: 2000-2004 Juergen Hermann <jh@web.de>, 7 2005-2008 MoinMoin:ThomasWaldmann. 8 @license: GNU GPL (v2 or later), see COPYING.txt for details. 9 """ 10 11 __version__ = "0.1" 12 13 # Utility classes and associated functions. 14 # NOTE: These are a subset of EventAggregatorSupport. 15 16 class Form: 17 18 """ 19 A wrapper preserving MoinMoin 1.8.x (and earlier) behaviour in a 1.9.x 20 environment. 21 """ 22 23 def __init__(self, form): 24 self.form = form 25 26 def get(self, name, default=None): 27 values = self.form.getlist(name) 28 if not values: 29 return default 30 else: 31 return values 32 33 def __getitem__(self, name): 34 return self.form.getlist(name) 35 36 class ActionSupport: 37 38 """ 39 Work around disruptive MoinMoin changes in 1.9, and also provide useful 40 convenience methods. 41 """ 42 43 def get_form(self): 44 return get_form(self.request) 45 46 def get_form(request): 47 48 "Work around disruptive MoinMoin changes in 1.9." 49 50 if hasattr(request, "values"): 51 return Form(request.values) 52 else: 53 return request.form 54 55 class send_headers: 56 57 """ 58 A wrapper to preserve MoinMoin 1.8.x (and earlier) request behaviour in a 59 1.9.x environment. 60 """ 61 62 def __init__(self, request): 63 self.request = request 64 65 def __call__(self, headers): 66 for header in headers: 67 parts = header.split(":") 68 self.request.headers.add(parts[0], ":".join(parts[1:])) 69 70 # vim: tabstop=4 expandtab shiftwidth=4