/usr/share/pyshared/wikiprint/formats.py is in trac-wikiprint 1.9.2-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | """
Copyright (C) 2008 Prognus Software Livre - www.prognus.com.br
Author: Diorgenes Felipe Grzesiuk <diorgenes@prognus.com.br>
Modified by: Alvaro Iradier <alvaro.iradier@polartech.es>
"""
from trac.core import *
from trac.web.api import RequestDone
from trac.wiki.model import WikiPage
from api import IWikiPrintFormat
from wikiprint import WikiPrint
class WikiPrintOutput(Component):
"""Add output formats PDF using PISA (xhtml2pdf) or Printable HTML to the WikiPrint plugin."""
implements(IWikiPrintFormat)
def wikiprint_formats(self, req):
yield 'pdfarticle', 'PDF Article'
yield 'pdfbook', 'PDF Book'
yield 'printhtml', 'HTML'
def process_wikiprint(self, req, format, title, subject, pages, version, date, pdfname):
wikiprint = WikiPrint(self.env)
html_pages = [wikiprint.wikipage_to_html(WikiPage(self.env, p).text, p, req) for p in pages]
# Send the output
req.send_response(200)
req.send_header('Content-Type', {
'pdfbook': 'application/pdf',
'pdfarticle': 'application/pdf',
'printhtml':'text/html'}[format])
if format == 'pdfbook':
out = wikiprint.html_to_pdf(req, html_pages, book=True, title=title, subject=subject, version=version, date=date)
req.send_header('Content-Disposition', 'attachment; filename=' + pdfname + '.pdf')
elif format == 'pdfarticle':
out = wikiprint.html_to_pdf(req, html_pages, book=False, title=title, subject=subject, version=version, date=date)
req.send_header('Content-Disposition', 'attachment; filename=' + pdfname + '.pdf')
elif format == 'printhtml':
out = wikiprint.html_to_printhtml(req, html_pages, title=title, subject=subject, version=version, date=date)
req.send_header('Content-Length', len(out))
req.end_headers()
req.write(out)
raise RequestDone
|