Skip to content

Commit

Permalink
Merge pull request #62 from zopefoundation/reportlab-upgrade
Browse files Browse the repository at this point in the history
Update to latest reportlab
  • Loading branch information
regebro committed Oct 9, 2018
2 parents 764d39f + 09246d3 commit 6849de8
Show file tree
Hide file tree
Showing 25 changed files with 128 additions and 109 deletions.
2 changes: 1 addition & 1 deletion CHANGES.rst
Expand Up @@ -5,7 +5,7 @@ CHANGES
3.5.1 (unreleased)
------------------

- Nothing changed yet.
- Upgraded to support Reportlab 3.5.9


3.5.0 (2018-04-10)
Expand Down
20 changes: 12 additions & 8 deletions src/z3c/rml/page.py
Expand Up @@ -35,14 +35,18 @@ def process(self, inputFile1):
output = PyPDF2.PdfFileWriter()
# TODO: Do not access protected classes
output._info.getObject().update(input1.documentInfo)
if output._root:
# Backwards-compatible with PyPDF2 version 1.21
output._root.getObject()[NameObject("/Outlines")] = (
output._addObject(input1.trailer["/Root"]["/Outlines"]))
else:
# Compatible with PyPDF2 version 1.22+
output._root_object[NameObject("/Outlines")] = (
output._addObject(input1.trailer["/Root"]["/Outlines"]))

# Add the outlines, if any
if "/Outlines" in input1.trailer["/Root"]:
if output._root:
# Backwards-compatible with PyPDF2 version 1.21
output._root.getObject()[NameObject("/Outlines")] = (
output._addObject(input1.trailer["/Root"]["/Outlines"]))
else:
# Compatible with PyPDF2 version 1.22+
output._root_object[NameObject("/Outlines")] = (
output._addObject(input1.trailer["/Root"]["/Outlines"]))

for (num, page) in enumerate(input1.pages):
if num in self.operations:
for mergeFile, mergeNumber in self.operations[num]:
Expand Down
30 changes: 27 additions & 3 deletions src/z3c/rml/rlfix.py
Expand Up @@ -77,11 +77,21 @@ def setSideLabels():
_computeBulletWidth

def ListFlowable_getContent(self):
value = self._start
bt = self._bulletType
value = self._start
if isinstance(value,(list,tuple)):
values = value
value = values[0]
else:
values = [value]
autov = values[0]
# FIX TO ALLOW ALL FORMATTERS!!!
inc = int(bt in _type2formatter.keys())
if inc: value = int(value)
inc = int(bt in self._numberStyles)
if inc:
try:
value = int(value)
except:
value = 1

bd = self._bulletDedent
if bd=='auto':
Expand Down Expand Up @@ -124,6 +134,19 @@ def ListFlowable_getContent(self):
aS = S.append
i=0
for d,f in self._flowablesIter():
if isinstance(f,ListFlowable):
fstart = f._start
if isinstance(fstart,(list,tuple)):
fstart = fstart[0]
if fstart in values:
#my kind of ListFlowable
if f._auto:
autov = values.index(autov)+1
f._start = values[autov:]+values[:autov]
autov = f._start[0]
if inc: f._bulletType = autov
else:
autov = fstart
fparams = {}
if not i:
i += 1
Expand Down Expand Up @@ -165,3 +188,4 @@ def ListFlowable_getContent(self):
return S

ListFlowable._getContent = ListFlowable_getContent
ListFlowable._numberStyles = _type2formatter.keys()
Binary file modified src/z3c/rml/rml-reference.pdf
Binary file not shown.
32 changes: 16 additions & 16 deletions src/z3c/rml/rml.dtd
Expand Up @@ -132,7 +132,7 @@
<!ATTLIST paraStyle leftIndent CDATA #IMPLIED>
<!ATTLIST paraStyle rightIndent CDATA #IMPLIED>
<!ATTLIST paraStyle firstLineIndent CDATA #IMPLIED>
<!ATTLIST paraStyle alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST paraStyle alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST paraStyle spaceBefore CDATA #IMPLIED>
<!ATTLIST paraStyle spaceAfter CDATA #IMPLIED>
<!ATTLIST paraStyle bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -223,7 +223,7 @@
<!ELEMENT blockValign>
<!ATTLIST blockValign start CDATA #REQUIRED>
<!ATTLIST blockValign stop CDATA #REQUIRED>
<!ATTLIST blockValign value (top|middle|bottom) #REQUIRED>
<!ATTLIST blockValign value (middle|top|bottom) #REQUIRED>

<!ELEMENT blockSpan>
<!ATTLIST blockSpan start CDATA #REQUIRED>
Expand Down Expand Up @@ -371,7 +371,7 @@
<!ATTLIST title leftIndent CDATA #IMPLIED>
<!ATTLIST title rightIndent CDATA #IMPLIED>
<!ATTLIST title firstLineIndent CDATA #IMPLIED>
<!ATTLIST title alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST title alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST title spaceBefore CDATA #IMPLIED>
<!ATTLIST title spaceAfter CDATA #IMPLIED>
<!ATTLIST title bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -409,7 +409,7 @@
<!ATTLIST h1 leftIndent CDATA #IMPLIED>
<!ATTLIST h1 rightIndent CDATA #IMPLIED>
<!ATTLIST h1 firstLineIndent CDATA #IMPLIED>
<!ATTLIST h1 alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST h1 alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST h1 spaceBefore CDATA #IMPLIED>
<!ATTLIST h1 spaceAfter CDATA #IMPLIED>
<!ATTLIST h1 bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -447,7 +447,7 @@
<!ATTLIST h2 leftIndent CDATA #IMPLIED>
<!ATTLIST h2 rightIndent CDATA #IMPLIED>
<!ATTLIST h2 firstLineIndent CDATA #IMPLIED>
<!ATTLIST h2 alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST h2 alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST h2 spaceBefore CDATA #IMPLIED>
<!ATTLIST h2 spaceAfter CDATA #IMPLIED>
<!ATTLIST h2 bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -485,7 +485,7 @@
<!ATTLIST h3 leftIndent CDATA #IMPLIED>
<!ATTLIST h3 rightIndent CDATA #IMPLIED>
<!ATTLIST h3 firstLineIndent CDATA #IMPLIED>
<!ATTLIST h3 alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST h3 alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST h3 spaceBefore CDATA #IMPLIED>
<!ATTLIST h3 spaceAfter CDATA #IMPLIED>
<!ATTLIST h3 bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -523,7 +523,7 @@
<!ATTLIST h4 leftIndent CDATA #IMPLIED>
<!ATTLIST h4 rightIndent CDATA #IMPLIED>
<!ATTLIST h4 firstLineIndent CDATA #IMPLIED>
<!ATTLIST h4 alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST h4 alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST h4 spaceBefore CDATA #IMPLIED>
<!ATTLIST h4 spaceAfter CDATA #IMPLIED>
<!ATTLIST h4 bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -561,7 +561,7 @@
<!ATTLIST h5 leftIndent CDATA #IMPLIED>
<!ATTLIST h5 rightIndent CDATA #IMPLIED>
<!ATTLIST h5 firstLineIndent CDATA #IMPLIED>
<!ATTLIST h5 alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST h5 alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST h5 spaceBefore CDATA #IMPLIED>
<!ATTLIST h5 spaceAfter CDATA #IMPLIED>
<!ATTLIST h5 bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -599,7 +599,7 @@
<!ATTLIST h6 leftIndent CDATA #IMPLIED>
<!ATTLIST h6 rightIndent CDATA #IMPLIED>
<!ATTLIST h6 firstLineIndent CDATA #IMPLIED>
<!ATTLIST h6 alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST h6 alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST h6 spaceBefore CDATA #IMPLIED>
<!ATTLIST h6 spaceAfter CDATA #IMPLIED>
<!ATTLIST h6 bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -637,7 +637,7 @@
<!ATTLIST para leftIndent CDATA #IMPLIED>
<!ATTLIST para rightIndent CDATA #IMPLIED>
<!ATTLIST para firstLineIndent CDATA #IMPLIED>
<!ATTLIST para alignment (left|right|center|centre|justify) #IMPLIED>
<!ATTLIST para alignment (right|justify|center|centre|left) #IMPLIED>
<!ATTLIST para spaceBefore CDATA #IMPLIED>
<!ATTLIST para spaceAfter CDATA #IMPLIED>
<!ATTLIST para bulletFontName CDATA #IMPLIED>
Expand Down Expand Up @@ -684,7 +684,7 @@
<!ATTLIST td bottomPadding CDATA #IMPLIED>
<!ATTLIST td background CDATA #IMPLIED>
<!ATTLIST td align (left|right|center|centre|decimal) #IMPLIED>
<!ATTLIST td vAlign (top|middle|bottom) #IMPLIED>
<!ATTLIST td vAlign (middle|top|bottom) #IMPLIED>
<!ATTLIST td lineBelowThickness CDATA #IMPLIED>
<!ATTLIST td lineBelowColor CDATA #IMPLIED>
<!ATTLIST td lineBelowCap (default|butt|round|square) #IMPLIED>
Expand Down Expand Up @@ -776,7 +776,7 @@
<!ELEMENT blockValign>
<!ATTLIST blockValign start CDATA #REQUIRED>
<!ATTLIST blockValign stop CDATA #REQUIRED>
<!ATTLIST blockValign value (top|middle|bottom) #REQUIRED>
<!ATTLIST blockValign value (middle|top|bottom) #REQUIRED>

<!ELEMENT blockSpan>
<!ATTLIST blockSpan start CDATA #REQUIRED>
Expand Down Expand Up @@ -825,7 +825,7 @@
<!ATTLIST img preserveAspectRatio CDATA #IMPLIED>
<!ATTLIST img mask CDATA #IMPLIED>
<!ATTLIST img align (left|right|center|centre|decimal) #IMPLIED>
<!ATTLIST img vAlign (top|middle|bottom) #IMPLIED>
<!ATTLIST img vAlign (middle|top|bottom) #IMPLIED>

<!ELEMENT imageAndFlowables>
<!ATTLIST imageAndFlowables imageName CDATA #REQUIRED>
Expand Down Expand Up @@ -877,7 +877,7 @@
<!ATTLIST hr spaceBefore CDATA #IMPLIED>
<!ATTLIST hr spaceAfter CDATA #IMPLIED>
<!ATTLIST hr align (left|right|center|centre|decimal) #IMPLIED>
<!ATTLIST hr valign (top|middle|bottom) #IMPLIED>
<!ATTLIST hr valign (middle|top|bottom) #IMPLIED>
<!ATTLIST hr dash CDATA #IMPLIED>

<!ELEMENT showIndex>
Expand Down Expand Up @@ -1972,7 +1972,7 @@
<!ATTLIST pieChart startAngle CDATA #IMPLIED>
<!ATTLIST pieChart direction (clockwise|anticlockwise) #IMPLIED>
<!ATTLIST pieChart checkLabelOverlap CDATA #IMPLIED>
<!ATTLIST pieChart pointerLabelMode (none|leftright|leftandright) #IMPLIED>
<!ATTLIST pieChart pointerLabelMode (none|leftandright|leftright) #IMPLIED>
<!ATTLIST pieChart sameRadii CDATA #IMPLIED>
<!ATTLIST pieChart orderMode (fixed|alternate) #IMPLIED>
<!ATTLIST pieChart xradius CDATA #IMPLIED>
Expand Down Expand Up @@ -2067,7 +2067,7 @@
<!ATTLIST pieChart3D startAngle CDATA #IMPLIED>
<!ATTLIST pieChart3D direction (clockwise|anticlockwise) #IMPLIED>
<!ATTLIST pieChart3D checkLabelOverlap CDATA #IMPLIED>
<!ATTLIST pieChart3D pointerLabelMode (none|leftright|leftandright) #IMPLIED>
<!ATTLIST pieChart3D pointerLabelMode (none|leftandright|leftright) #IMPLIED>
<!ATTLIST pieChart3D sameRadii CDATA #IMPLIED>
<!ATTLIST pieChart3D orderMode (fixed|alternate) #IMPLIED>
<!ATTLIST pieChart3D xradius CDATA #IMPLIED>
Expand Down
Binary file modified src/z3c/rml/tests/expected/rml-examples-001-hello.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-003-frames.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-004-fpt-templates.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-004-templates.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-008-tables.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-011-keepwithnext.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-029-keepinframe.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-032-images.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-039-doc-programming.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-044-codesnippets.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-046-lists.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/rml-examples-047-condPageBreak.pdf
Binary file not shown.
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/tag-fixedSize.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/tag-indent.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/tag-keepInFrame.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/tag-para-border.pdf
Binary file not shown.
Binary file modified src/z3c/rml/tests/expected/tag-ul-ol-li.pdf
Binary file not shown.
4 changes: 0 additions & 4 deletions src/z3c/rml/tests/test_rml.py
Expand Up @@ -175,10 +175,6 @@ def test_suite():
if not filename.endswith(".rml"):
continue

if filename == 'rml-examples-032-images.rml':
# This fails on Travis for no reason, so we skip it.
continue

inPath = os.path.join(inputDir, filename)
outPath = os.path.join(outputDir, filename[:-4] + '.pdf')
expectPath = os.path.join(expectDir, filename[:-4] + '.pdf')
Expand Down

0 comments on commit 6849de8

Please sign in to comment.