def build(self, printfile, style=1): template = SimpleDocTemplate(printfile, showBoundary=0) tFirst = PageTemplate(id='First', frames=self.getStyle(1, style), onPage=self.myPages, pagesize=defaultPageSize) tNext = PageTemplate(id='Later', frames=self.getStyle(2, style), onPage=self.myPages, pagesize=defaultPageSize) template.addPageTemplates([tFirst, tNext]) template.allowSplitting = 1 BaseDocTemplate.build(template, self.data)
def build(self, style=1): template = SimpleDocTemplate(config.get("paths.tempdir", "") + "print.pdf", showBoundary=0) tFirst = PageTemplate(id='First', frames=self.getStyle(1, style), onPage=self.myPages, pagesize=defaultPageSize) tNext = PageTemplate(id='Later', frames=self.getStyle(2, style), onPage=self.myPages, pagesize=defaultPageSize) template.addPageTemplates([tFirst, tNext]) template.allowSplitting = 1 BaseDocTemplate.build(template, self.data) return template.canv._doc.GetPDFData(template.canv)
def build(self, printfile, style=1): template = SimpleDocTemplate(printfile, showBoundary=0) tFirst = PageTemplate(id='First', frames=self.getStyle(1, style), onPage=self.myPages, pagesize=defaultPageSize) tNext = PageTemplate(id='Later', frames=self.getStyle(2, style), onPage=self.myPages, pagesize=defaultPageSize) template.addPageTemplates([tFirst, tNext]) template.allowSplitting = 1 BaseDocTemplate.build(template, self.data)
def build(self, style=1): self.h1 = self.styleSheet['Heading1'] self.h1.fontName = 'Helvetica' self.bv = self.styleSheet['BodyText'] self.bv.fontName = 'Helvetica' self.bv.fontSize = 7 self.bv.spaceBefore = 0 self.bv.spaceAfter = 0 self.header = self.styleSheet['Heading3'] self.header.fontName = 'Helvetica' self.data.append(Paragraph(translation.t(self.language, 'mediatumhelptitle'), self.h1)) self.data.append(Paragraph(self.path, self.bv)) self.data.append((FrameBreak())) # format content self.content = self.content.replace("\n", "") repl = {'p': 'BodyText', 'h1': 'Heading1', 'h2': 'Heading2', 'h3': 'Heading3', 'h4': 'Heading4', 'h5': 'Heading5', 'li': 'Bullet'} curstyle = "BodyText" for item in re.split(r'<(p|h[1-5]|li)>|<(/p|/h[1-5]|/li)>', self.content): if item and item != "": if item in repl.keys(): curstyle = repl[item] elif item[0] == "/" and item[1:] in repl.keys(): curstyle = "" else: if item.strip != "" and curstyle != "": print 'add', item, "-->", curstyle if curstyle == "Bullet": item = "- " + item print "bullet", item self.data.append(Paragraph(item, self.styleSheet[curstyle])) template = SimpleDocTemplate(config.get("paths.tempdir", "") + "help.pdf", showBoundary=0) tFirst = PageTemplate(id='First', onPage=self.myPages, pagesize=defaultPageSize) tNext = PageTemplate(id='Later', onPage=self.myPages, pagesize=defaultPageSize) template.addPageTemplates([tFirst, tNext]) template.allowSplitting = 1 BaseDocTemplate.build(template, self.data) template.canv.setAuthor(translation.t(self.language, "main_title")) template.canv.setTitle("%s \n'%s' - %s: %s" % (translation.t(self.language, "edit_stats_header"), 'sdfsdfsdf', translation.t(self.language, "edit_stats_period_header"), '2003')) return template.canv._doc.GetPDFData(template.canv)
def build(self, style=1): self.h1 = self.styleSheet['Heading1'] self.h1.fontName = 'Helvetica' self.bv = self.styleSheet['BodyText'] self.bv.fontName = 'Helvetica' self.bv.fontSize = 7 self.bv.spaceBefore = 0 self.bv.spaceAfter = 0 self.chartheader = self.styleSheet['Heading3'] self.chartheader.fontName = 'Helvetica' self.formatRight = self.styleSheet['Normal'] self.bv.formatRight = 'Helvetica' self.formatRight.alignment = 2 nameColl = self.collection.getName() while True: # page 1 p = Paragraph( "%s \n'%s'" % (t(self.language, "edit_stats_header"), nameColl), self.h1) p.wrap(defaultPageSize[0], defaultPageSize[1]) if p.getActualLineWidths0()[0] < 19 * cm: break else: nameColl = nameColl[0:-4] + "..." self.data.append(p) self.data.append( Paragraph( "%s: %s" % (t(self.language, "edit_stats_period_header"), self.period), self.chartheader)) self.data.append( Paragraph( t(self.language, "edit_stats_pages_of") % ("1", "4"), self.formatRight)) self.data.append((FrameBreak())) # top 10 self.data += self.getStatTop("data", namecut=60) # page 2 self.data.append( Paragraph( "%s \n'%s' %s - " % (t(self.language, "edit_stats_header"), self.collection.getName(), self.period) + t(self.language, "edit_stats_pages_of") % ("2", "4"), self.bv)) self.data.append((FrameBreak())) # country self.data += self.getStatCountry("data") self.data.append(PageBreak()) # page 3 self.data.append( Paragraph( "%s \n'%s' %s - " % (t(self.language, "edit_stats_header"), self.collection.getName(), self.period) + t(self.language, "edit_stats_pages_of") % ("3", "4"), self.bv)) self.data.append((FrameBreak())) # date self.data += self.getStatDate("data") self.data.append(PageBreak()) # page 4 self.data.append( Paragraph( "%s \n'%s' %s - " % (t(self.language, "edit_stats_header"), self.collection.getName(), self.period) + t(self.language, "edit_stats_pages_of") % ("4", "4"), self.bv)) self.data.append((FrameBreak())) # weekday self.data += self.getStatDay("data") # time self.data += self.getStatTime("data") template = SimpleDocTemplate(config.get("paths.tempdir", "") + "statsaccess.pdf", showBoundary=0) tFirst = PageTemplate(id='First', onPage=self.myPages, pagesize=defaultPageSize) tNext = PageTemplate(id='Later', onPage=self.myPages, pagesize=defaultPageSize) template.addPageTemplates([tFirst, tNext]) template.allowSplitting = 1 BaseDocTemplate.build(template, self.data) template.canv.setAuthor(t(self.language, "main_title")) template.canv.setTitle( "%s \n'%s' - %s: %s" % (t(self.language, "edit_stats_header"), self.collection.getName(), t(self.language, "edit_stats_period_header"), self.period)) return template.canv._doc.GetPDFData(template.canv)
def create_report(self, info): # Converting to PDF # document theme if local: doc = SimpleDocTemplate('{}_TestReport.pdf'.format(info["serialNo"])) else: doc = SimpleDocTemplate('/home/test/reports/{}_TestReport.pdf'.format(info["serialNo"])) doc.topMargin = 20 doc.bottomMargin = 25 doc.leftMargin = 25 doc.rightMargin = 25 doc.allowSplitting = False header_path = self.project_path + "/" + "header.png" if os.path.exists(header_path): header = Image(header_path, 8 * inch, 1 * inch) header.hAlign = "CENTRE" self.elements.append(header) self.elements.append(Spacer(1, 20)) else: logging.warning("Header not found") self.elements.append(self.draw_line(colors.lightgrey)) self.elements.append(Spacer(1, 1)) self.elements.append(self.draw_line(colors.lightgrey)) self.elements.append(Spacer(1, 3)) self.elements.append(Paragraph("Serial No: " + info["serialNo"], self.styles['Title'])) self.elements.append(self.draw_line(colors.lightgrey)) self.elements.append(Spacer(1, 1)) self.elements.append(self.draw_line(colors.lightgrey)) self.elements.append(Spacer(1, 20)) # Create Tables for each test # Device Info Table if info["deviceInfo"]: self.heading_block("Device Info") dev_table = pd.DataFrame(info["deviceInfo"], index=[0]) dev_table = dev_table.T dev_table.reset_index(inplace=True) dev_table.columns = ["Item", "Detail"] dev_table.set_index(["Item"], inplace=True) dev_table.replace("", "N/A", inplace=True) self.draw_table(dev_table) # Mac Table if info["macInfo"]: self.heading_block("MAC Info") self.draw_table(info["macInfo"], column=["interface", "macaddr"]) # Operation Table if info["operationInfo"]: self.heading_block("Operation Details") opt_table = pd.DataFrame(info["operationInfo"], index=[0]) opt_table = opt_table.T opt_table.reset_index(inplace=True) opt_table.columns = ["Operation", "Status"] opt_table.set_index(["Operation"], inplace=True) opt_table.replace("", "N/A", inplace=True) self.draw_table(opt_table) # Test Table if info["testInfo"]: self.heading_block("Test Details") test_table = pd.DataFrame(info["testInfo"], index=[0]) test_table = test_table.T test_table.reset_index(inplace=True) test_table.columns = ["Test", "Status"] test_table.set_index(["Test"], inplace=True) test_table.replace("", "N/A", inplace=True) self.draw_table(test_table) # Hardware Test Table if info["hwtestInfo"]: self.heading_block("Hardware Test Details") self.draw_table(info["hwtestInfo"], column=["item", "result", "detail"]) # Burn test details if info["burntestInfo"]: self.heading_block("Burn Test Details") self.draw_table(info["burntestInfo"], column=["item", "result", "detail"]) # Last test details if info["lasttestInfo"]: self.heading_block("Last Test Details") self.draw_table(info["lasttestInfo"], column=["item", "result", "detail"]) # LanBurn Throughput Table self.heading_block("LanBurn Throughput") speed_table = pd.DataFrame.from_dict(info["performancestatsInfo"]) speed_table.columns = [x.title() for x in speed_table.columns] speed_table.set_index(["Nic"], inplace=True) self.draw_table(speed_table) # LanBurn Throughput Bar Chart self.elements.append(Spacer(1, 30)) filename = "lanburn.png" self.throughput_bar_chart(speed_table, self.project_path, filename) im = Image(filename, 4 * inch, 2.5 * inch) self.elements.append(im) if self.render_pdf: # Build all the elements to create a PDF doc.build(self.elements)
def build(self, style=1): self.h1 = self.styleSheet['Heading1'] self.h1.fontName = 'Helvetica' self.bv = self.styleSheet['BodyText'] self.bv.fontName = 'Helvetica' self.bv.fontSize = 7 self.bv.spaceBefore = 0 self.bv.spaceAfter = 0 self.chartheader = self.styleSheet['Heading3'] self.chartheader.fontName = 'Helvetica' self.formatRight = self.styleSheet['Normal'] self.bv.formatRight = 'Helvetica' self.formatRight.alignment = 2 nameColl = self.collection.getName() while True: # page 1 p = Paragraph("%s \n'%s'" % (t(self.language, "edit_stats_header"), nameColl), self.h1) p.wrap(defaultPageSize[0], defaultPageSize[1]) if p.getActualLineWidths0()[0] < 19 * cm: break else: nameColl = nameColl[0:-4] + "..." self.data.append(p) self.data.append(Paragraph("%s: %s" % (t(self.language, "edit_stats_period_header"), self.period), self.chartheader)) self.data.append(Paragraph(t(self.language, "edit_stats_pages_of") % ("1", "4"), self.formatRight)) self.data.append((FrameBreak())) # top 10 self.data += self.getStatTop("data", namecut=60) # page 2 self.data.append(Paragraph("%s \n'%s' %s - " % (t(self.language, "edit_stats_header"), self.collection.getName(), self.period) + t(self.language, "edit_stats_pages_of") % ("2", "4"), self.bv)) self.data.append((FrameBreak())) # country self.data += self.getStatCountry("data") self.data.append(PageBreak()) # page 3 self.data.append(Paragraph("%s \n'%s' %s - " % (t(self.language, "edit_stats_header"), self.collection.getName(), self.period) + t(self.language, "edit_stats_pages_of") % ("3", "4"), self.bv)) self.data.append((FrameBreak())) # date self.data += self.getStatDate("data") self.data.append(PageBreak()) # page 4 self.data.append(Paragraph("%s \n'%s' %s - " % (t(self.language, "edit_stats_header"), self.collection.getName(), self.period) + t(self.language, "edit_stats_pages_of") % ("4", "4"), self.bv)) self.data.append((FrameBreak())) # weekday self.data += self.getStatDay("data") # time self.data += self.getStatTime("data") template = SimpleDocTemplate(config.get("paths.tempdir", "") + "statsaccess.pdf", showBoundary=0) tFirst = PageTemplate(id='First', onPage=self.myPages, pagesize=defaultPageSize) tNext = PageTemplate(id='Later', onPage=self.myPages, pagesize=defaultPageSize) template.addPageTemplates([tFirst, tNext]) template.allowSplitting = 1 BaseDocTemplate.build(template, self.data) template.canv.setAuthor(t(self.language, "main_title")) template.canv.setTitle("%s \n'%s' - %s: %s" % (t(self.language, "edit_stats_header"), self.collection.getName(), t(self.language, "edit_stats_period_header"), self.period)) return template.canv._doc.GetPDFData(template.canv)