# HG changeset patch # User Florian Festi # Date 1131443977 0 # Node ID 7c5bba88937b8961809655258944fca21aa8cda4 # Parent 4e9b5e9610da105cf4c1b42f6f1421e40fe6b59e attachment methods for the text_xml and xml_docbook formatters imported from: moin--main--1.5--patch-202 diff -r 4e9b5e9610da -r 7c5bba88937b MoinMoin/formatter/text_xml.py --- a/MoinMoin/formatter/text_xml.py Sun Nov 06 19:29:10 2005 +0000 +++ b/MoinMoin/formatter/text_xml.py Tue Nov 08 09:59:37 2005 +0000 @@ -67,6 +67,15 @@ else: str = '' return ('' % (self._escape(url), str), '') [not on] + # Attachments ###################################################### + + def attachment_link(self, url, text, **kw): + return '%s' % (url, text) + def attachment_image(self, url, **kw): + return '' % (url,) + def attachment_drawing(self, url, text, **kw): + return '%s' % ( + url, text) def text(self, text): if self.in_pre: diff -r 4e9b5e9610da -r 7c5bba88937b MoinMoin/formatter/xml_docbook.py --- a/MoinMoin/formatter/xml_docbook.py Sun Nov 06 19:29:10 2005 +0000 +++ b/MoinMoin/formatter/xml_docbook.py Tue Nov 08 09:59:37 2005 +0000 @@ -9,11 +9,12 @@ @license: GNU GPL, see COPYING for details. """ -import sys, traceback +import sys, traceback, os from MoinMoin.formatter.base import FormatterBase from MoinMoin import wikiutil, config from MoinMoin.error import CompositeError +from MoinMoin.action import AttachFile from xml.sax import saxutils from xml.dom import getDOMImplementation @@ -385,6 +386,50 @@ return self._handleNode("link", on, attrs) +# Attachments ###################################################### + + def attachment_link(self, url, text, **kw): + _ = self.request.getText + pagename, filename = AttachFile.absoluteName(url, self.page.page_name) + fname = wikiutil.taintfilename(filename) + fpath = AttachFile.getFilename(self.request, pagename, fname) + target = AttachFile.getAttachUrl(pagename, filename, self.request) + if not os.path.exists(fpath): + return self.text("[attachment:%s]" % url) + else: + return (self.url(1, target, title="attachment:%s" % url) + + self.text(text) + + self.url(0)) + + def attachment_image(self, url, **kw): + _ = self.request.getText + pagename, filename = AttachFile.absoluteName(url, self.page.page_name) + fname = wikiutil.taintfilename(filename) + fpath = AttachFile.getFilename(self.request, pagename, fname) + if not os.path.exists(fpath): + return self.text("[attachment:%s]" % url) + else: + return self.image( + title="attachment:%s" % url, + src=AttachFile.getAttachUrl(pagename, filename, + self.request, addts=1)) + + def attachment_drawing(self, url, text, **kw): + _ = self.request.getText + pagename, filename = AttachFile.absoluteName(url, self.page.page_name) + fname = wikiutil.taintfilename(filename) + drawing = fname + fname = fname + ".png" + filename = filename + ".png" + if not os.path.exists(fpath): + return self.text("[drawing:%s]" % url) + else: + return self.image( + alt=drawing, + src=AttachFile.getAttachUrl(pagename, filename, self.request, + addts=1), + html_class="drawing") + ### Images and Smileys ############################################## def image(self, **kw):