1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/parsers/form.py Thu Nov 29 00:53:51 2012 +0100
1.3 @@ -0,0 +1,69 @@
1.4 +# -*- coding: iso-8859-1 -*-
1.5 +"""
1.6 + MoinMoin - form (MoinForms)
1.7 +
1.8 + @copyright: 2012 by Paul Boddie <paul@boddie.org.uk>
1.9 + @license: GNU GPL (v2 or later), see COPYING.txt for details.
1.10 +"""
1.11 +
1.12 +from MoinForms import *
1.13 +from MoinSupport import *
1.14 +
1.15 +Dependencies = ["pages"]
1.16 +
1.17 +# Parser support.
1.18 +
1.19 +class Parser:
1.20 +
1.21 + "Manipulate and display forms."
1.22 +
1.23 + Dependencies = Dependencies
1.24 + extensions = []
1.25 +
1.26 + # Output content types preferred by this parser.
1.27 +
1.28 + output_mimetypes = ["text/html"]
1.29 +
1.30 + def __init__(self, raw, request, **kw):
1.31 +
1.32 + """
1.33 + Initialise the parser with the given 'raw' data, 'request' and any
1.34 + keyword arguments that may have been supplied.
1.35 + """
1.36 +
1.37 + self.raw = raw
1.38 + self.request = request
1.39 + attrs = parseAttributes(kw.get("format_args", ""), False)
1.40 +
1.41 + self.fragment = attrs.get("fragment")
1.42 +
1.43 + def format(self, fmt, write=None):
1.44 +
1.45 + """
1.46 + Format an event using the given formatter 'fmt'. If the 'write'
1.47 + parameter is specified, use it to write output; otherwise, write output
1.48 + using the request.
1.49 + """
1.50 +
1.51 + formatForm(self.raw, self.request, fmt, write=write)
1.52 +
1.53 + # Extra API methods.
1.54 +
1.55 + def formatForOutputType(self, mimetype, write=None):
1.56 +
1.57 + """
1.58 + Format an event for the given 'mimetype'. If the 'write' parameter is
1.59 + specified, use it to write output; otherwise, write output using the
1.60 + request.
1.61 + """
1.62 +
1.63 + formatFormForOutputType(self.raw, self.request, mimetype, write=write)
1.64 +
1.65 + # Class methods.
1.66 +
1.67 + def getOutputTypes(self):
1.68 + return self.output_mimetypes
1.69 +
1.70 + getOutputTypes = classmethod(getOutputTypes)
1.71 +
1.72 +# vim: tabstop=4 expandtab shiftwidth=4