diff options
author | Jonathan Liu | 2015-06-19 12:01:39 +1000 |
---|---|---|
committer | Jonathan Liu | 2015-06-19 12:01:39 +1000 |
commit | 36d92d88769db97b6b5f40f8826e4d31ce202fdb (patch) | |
tree | a3d559d255d7e5141e4537d134d149580660555e | |
download | aur-36d92d88769db97b6b5f40f8826e4d31ce202fdb.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | image_resolver.patch | 99 |
3 files changed, 143 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..059d4c7b5554 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = python2-template2pdf + pkgdesc = Modules to render tRML template to PDF + pkgver = 0.6.5 + pkgrel = 2 + url = http://code.google.com/p/template2pdf/ + arch = any + license = LGPL + depends = python-imaging + depends = python-reportlab + source = http://pypi.python.org/packages/source/t/template2pdf/template2pdf-0.6.5.tar.gz + source = image_resolver.patch + md5sums = 6b112bae8cb16be44f0047b77bba4697 + md5sums = 9ae0b508524c973ed0715af9e2c18953 + +pkgname = python2-template2pdf + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7767899aa841 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Jonathan Liu <net147@gmail.com> +pkgname=python2-template2pdf +_realpkgname=template2pdf +pkgver=0.6.5 +pkgrel=2 +pkgdesc="Modules to render tRML template to PDF" +arch=('any') +url="http://code.google.com/p/template2pdf/" +license=('LGPL') +depends=('python-imaging' 'python-reportlab') +source=("http://pypi.python.org/packages/source/t/${_realpkgname}/${_realpkgname}-${pkgver}.tar.gz" + "image_resolver.patch") +md5sums=('6b112bae8cb16be44f0047b77bba4697' + '9ae0b508524c973ed0715af9e2c18953') + +build() { + cd "${srcdir}/${_realpkgname}-${pkgver}" + patch -Np0 -i "${srcdir}/image_resolver.patch" + find "${srcdir}" -name '*.py' -exec sed -i -e "s|#!/usr/bin/python|#!/usr/bin/python2|" {} + + python2 setup.py build +} + +package() { + cd "${srcdir}/${_realpkgname}-${pkgver}" + python2 setup.py install --root "${pkgdir}" -O1 +} + +# vim:set ts=2 sw=2 et: diff --git a/image_resolver.patch b/image_resolver.patch new file mode 100644 index 000000000000..671c98c00fcb --- /dev/null +++ b/image_resolver.patch @@ -0,0 +1,99 @@ +Index: template2pdf/t2p/trml2pdf.py +=================================================================== +--- template2pdf/t2p/trml2pdf.py (revision 66) ++++ template2pdf/t2p/trml2pdf.py (revision 67) +@@ -28,6 +28,7 @@ + import reportlab + from reportlab.pdfgen import canvas + from reportlab import platypus ++ + try: + from reportlab.graphics.barcode.common import Codabar, Code11, I2of5, MSI + from reportlab.graphics.barcode.code128 import Code128 +@@ -54,8 +55,9 @@ + def _child_get(node, childs): + """Filter child nodes + """ +- return filter(lambda n: ((n.nodeType==n.ELEMENT_NODE) and (n.localName==childs)), +- node.childNodes) ++ return filter( ++ lambda n: ((n.nodeType==n.ELEMENT_NODE) and (n.localName==childs)), ++ node.childNodes) + + + class _rml_styles(object): +@@ -262,7 +264,7 @@ + else: + self.canvas = canvas.Canvas(out) + pd = self.dom.documentElement.getElementsByTagName('pageDrawing')[0] +- pd_obj = _rml_canvas(self.canvas, None, self) ++ pd_obj = _rml_canvas(self.canvas, doc_tmpl=None, doc=self) + pd_obj.render(pd) + self.canvas.showPage() + self.canvas.save() +@@ -387,7 +389,9 @@ + + def _image(self, node): + img, args = self.doc.image_resolver(node) +- self.canvas.drawImage(img, **args) ++ x = args.pop('x', 0) ++ y = args.pop('y', 0) ++ self.canvas.drawImage(img, x, y, **args) + + def _path(self, node): + self.path = self.canvas.beginPath() +@@ -455,7 +459,7 @@ + + def render(self, canvas, doc): + canvas.saveState() +- cnv = _rml_canvas(canvas, doc, self.styles) ++ cnv = _rml_canvas(canvas, None, doc) + cnv.render(self.node) + canvas.restoreState() + +@@ -525,7 +529,8 @@ + + def _illustration(self, node): + class Illustration(platypus.flowables.Flowable): +- def __init__(self, node, styles): ++ def __init__(self, node, styles, parent): ++ self.parent = parent + self.node = node + self.styles = styles + self.width = utils.as_pt(node.getAttribute('width')) +@@ -535,8 +540,8 @@ + def draw(self): + canvas = self.canv + drw = _rml_draw(self.node, self.styles) +- drw.render(self.canv, None) +- return Illustration(node, self.styles) ++ drw.render(self.canv, self.parent.doc) ++ return Illustration(node, self.styles, self) + + def _flowable(self, node): + if node.localName=='para': +@@ -661,7 +666,7 @@ + frames.append( frame ) + gr = pt.getElementsByTagName('pageGraphics') + if len(gr): +- drw = _rml_draw(gr[0], self.doc) ++ drw = _rml_draw(gr[0], self.styles) + self.page_templates.append( + platypus.PageTemplate(frames=frames, onPage=drw.render, + **utils.getAttrsAsDict(pt, [], {'id': 'str'}))) +@@ -676,6 +681,7 @@ + fis = r.render(node_story) + self.doc_tmpl.build(fis) + ++ + def parseString(data, fout=None): + r = _rml_doc(data) + if fout: +@@ -688,6 +694,7 @@ + r.render(fp) + return fp.getvalue() + ++ + def trml2pdf_help(): + print 'Usage: trml2pdf input.rml >output.pdf' + print 'Render the standard input (RML) and output a PDF file' |