def execute(pagename, request): rev = request.rev or 0 page = Page(request, pagename, rev=rev) request.mimetype = 'text/plain' content_disposition='attachment' if page.exists(): request.status_code = 200 request.last_modified = os.path.getmtime(page._text_filename()) text = page.encodeTextMimeType(moin2rst(page.body)) filename_enc = "%s.rst" % page.page_name.encode(config.charset) dispo_string = '%s; filename="%s"' % (content_disposition, filename_enc) request.headers['Content-Disposition'] = dispo_string else: request.status_code = 404 text = u"Page %s not found." % self.page_name request.write(text)
def do_raw(pagename, request): if not request.user.may.read(pagename): Page(request, pagename).send_page(request) return request.http_headers(["Content-type: text/plain;charset=%s" % config.charset]) if request.form.has_key('rev'): try: rev = request.form['rev'][0] try: rev = int(rev) except StandardError: rev = 0 except KeyError: rev = 0 page = Page(request, pagename, rev=rev) else: page = Page(request, pagename) text = page.get_raw_body() text = page.encodeTextMimeType(text) request.write(text) raise MoinMoinNoFooter