summaryrefslogtreecommitdiffstats
path: root/testsuites/vstf/vstf_scripts/vstf/controller/reporters/report/pdf/pdftemplate.py
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/vstf/vstf_scripts/vstf/controller/reporters/report/pdf/pdftemplate.py')
-rw-r--r--testsuites/vstf/vstf_scripts/vstf/controller/reporters/report/pdf/pdftemplate.py88
1 files changed, 61 insertions, 27 deletions
diff --git a/testsuites/vstf/vstf_scripts/vstf/controller/reporters/report/pdf/pdftemplate.py b/testsuites/vstf/vstf_scripts/vstf/controller/reporters/report/pdf/pdftemplate.py
index 69c65401..7e287814 100644
--- a/testsuites/vstf/vstf_scripts/vstf/controller/reporters/report/pdf/pdftemplate.py
+++ b/testsuites/vstf/vstf_scripts/vstf/controller/reporters/report/pdf/pdftemplate.py
@@ -13,9 +13,11 @@ from reportlab.platypus.doctemplate import SimpleDocTemplate
from reportlab.platypus import PageBreak
from vstf.controller.reporters.report.pdf.styles import TemplateStyle, ps_head_lv1, ps_head_lv2, ps_head_lv3
import vstf.common.constants as cst
+from functools import reduce
class BaseDocTemplate(SimpleDocTemplate):
+
def __init__(self, filename, **kw):
self.allowSplitting = 0
SimpleDocTemplate.__init__(self, filename, **kw)
@@ -34,6 +36,7 @@ class BaseDocTemplate(SimpleDocTemplate):
class PdfTemplate(object):
+
def __init__(self, title, logo, header, footer, note=[], style="default"):
self._style = TemplateStyle(name=style)
self._title = title
@@ -41,7 +44,8 @@ class PdfTemplate(object):
#self._header = header[0]
self._footer = footer
self._note = note
- info = " Generated on %s " % time.strftime(cst.TIME_FORMAT2, time.localtime())
+ info = " Generated on %s " % time.strftime(
+ cst.TIME_FORMAT2, time.localtime())
self._note += [info]
def myFirstPage(self, canvas, doc):
@@ -54,46 +58,78 @@ class PdfTemplate(object):
sizes = (self._style.page_wight, self._style.page_height)
doc = BaseDocTemplate(output, pagesize=sizes)
# doc.build(story, onFirstPage=self.myFirstPage, onLaterPages=self.myLaterPages)
- doc.multiBuild(story, onFirstPage=self.myFirstPage, onLaterPages=self.myLaterPages)
+ doc.multiBuild(
+ story,
+ onFirstPage=self.myFirstPage,
+ onLaterPages=self.myLaterPages)
class PdfVswitch(PdfTemplate):
+
def myFirstPage(self, canvas, doc):
canvas.saveState()
title_lines = len(self._title)
line_size = [self._style.title_size] * title_lines
line_size.append(0)
- canvas.drawImage(self._logo,
- (self._style.page_wight - self._style.logo_width) / 2.0,
- self._style.page_height / 2.0 + (1 + self._style.title_leading) * reduce(lambda x, y: x + y,
- line_size),
- self._style.logo_width,
- self._style.logo_height
- )
+ canvas.drawImage(
+ self._logo,
+ (self._style.page_wight -
+ self._style.logo_width) /
+ 2.0,
+ self._style.page_height /
+ 2.0 +
+ (
+ 1 +
+ self._style.title_leading) *
+ reduce(
+ lambda x,
+ y: x +
+ y,
+ line_size),
+ self._style.logo_width,
+ self._style.logo_height)
for i in range(title_lines):
canvas.setFont(self._style.title_font, line_size[i])
- canvas.drawCentredString(self._style.page_wight / 2.0,
- self._style.page_height / 2.0 + (1 + self._style.title_leading) * reduce(
- lambda x, y: x + y, line_size[i + 1:]),
- self._title[i]
- )
+ canvas.drawCentredString(
+ self._style.page_wight /
+ 2.0,
+ self._style.page_height /
+ 2.0 +
+ (
+ 1 +
+ self._style.title_leading) *
+ reduce(
+ lambda x,
+ y: x +
+ y,
+ line_size[
+ i +
+ 1:]),
+ self._title[i])
size = self._style.body_size
canvas.setFont(self._style.body_font, size)
note_line = len(self._note)
for i in range(note_line):
print self._note[i]
- canvas.drawCentredString(self._style.page_wight / 2.0,
- self._style.page_height / 5.0 + (1 + self._style.body_leading) * size * (
- note_line - i - 1),
- self._note[i]
- )
+ canvas.drawCentredString(self._style.page_wight /
+ 2.0, self._style.page_height /
+ 5.0 +
+ (1 +
+ self._style.body_leading) *
+ size *
+ (note_line -
+ i -
+ 1), self._note[i])
size = self._style.body_size - 2
canvas.setFont(self._style.body_font, size)
- canvas.drawCentredString(self._style.page_wight / 2.0,
- self._style.page_bottom / 2.0 + (1 + self._style.body_leading) * size,
- self._footer[0])
+ canvas.drawCentredString(self._style.page_wight /
+ 2.0, self._style.page_bottom /
+ 2.0 +
+ (1 +
+ self._style.body_leading) *
+ size, self._footer[0])
canvas.restoreState()
def myLaterPages(self, canvas, doc):
@@ -106,9 +142,7 @@ class PdfVswitch(PdfTemplate):
)
size = self._style.body_size - 2
canvas.setFont(self._style.body_font, size)
- canvas.drawCentredString(self._style.page_wight / 2.0,
- self._style.page_bottom - 24,
- "%s%s Page %2d " % (self._footer[0], " " * 8, doc.page - 1)
- )
+ canvas.drawCentredString(
+ self._style.page_wight / 2.0, self._style.page_bottom - 24, "%s%s Page %2d " %
+ (self._footer[0], " " * 8, doc.page - 1))
canvas.restoreState()
-