本文整理汇总了Python中reportlab.platypus.SimpleDocTemplate.timestamp方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleDocTemplate.timestamp方法的具体用法?Python SimpleDocTemplate.timestamp怎么用?Python SimpleDocTemplate.timestamp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.platypus.SimpleDocTemplate
的用法示例。
在下文中一共展示了SimpleDocTemplate.timestamp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get
# 需要导入模块: from reportlab.platypus import SimpleDocTemplate [as 别名]
# 或者: from reportlab.platypus.SimpleDocTemplate import timestamp [as 别名]
def get(self):
invoice = dbmodels.Invoice.get(self.request.get("ikey"))
assignments = dbmodels.Assignment.get([str(key) for key in invoice.akeys])
# assignments = sorted(assignments, key=lambda assignment: assignment.start_date)
settings = dbmodels.Settings.get(db.Key.from_path("Settings", "main"))
timestamp = datetime.datetime.now()
self.response.headers.add_header("Content-type", "application/pdf")
self.response.headers.add_header("Content-disposition", 'attachment; filename=%s-%s.pdf' % (str(invoice.partner.name), timestamp.strftime("%Y-%m-%d")))
doc = SimpleDocTemplate(self.response.out, leftMargin=inch*.5)
doc.timestamp = timestamp
Story = []
style = styles["Normal"]
style.spaceAfter = inch * 0.5
# style.leftIndent = -inch #* 0.5
address = Paragraph("""
<font size='24' face='Helvetica-Bold'>%s</font><br/>
%s
<br/>
%s
<br/>
<font face='Helvetica-Bold'>SDIN#: %s</font>""" % (settings.companyName, settings.companyAddress.replace("\n","<br/>"), settings.email, settings.sdin), style)
Story.append(address)
partnerAddress = Paragraph("""
<font face='Helvetica-Bold'>%s</font><br/>
%s
""" % (invoice.partner.name, invoice.partner.address.replace("\n","<br/>")), style)
Story.append(partnerAddress)
Story.append(Paragraph("<font face='Helvetica-Bold'>Invoice Date:</font> %s <br/><font face='Helvetica-Bold'>Invoice Number:</font> %s" % (timestamp.strftime("%Y-%m-%d"), invoice.key().id()), style))
tableData = []
tableData.append(["Volunteer",
"Project",
"Start Date",
"# Weeks",
"",#"",
"Item Total"])
subTotal = 0
for i, a in enumerate(assignments):
a = a.jsonAssignment
prev = assignments[i-1].jsonAssignment
addWeeks = a["additionalWeeks"] * a["additionalWeekPrice"]
if i > 0 and a['volunteer'] == assignments[i-1].jsonAssignment['volunteer']:
itemSub = a['additionalWeekPrice'] * a['minimum_duration'] + addWeeks
a['volunteer'] = '"'
else:
itemSub = a["price"] + addWeeks #- a["discount"]
assignmentData = [a["volunteer"],
a["project"],
a["start_date"],
int(a["num_weeks"]),
# "",
"",
"$%.2f" % itemSub]
tableData.append(assignmentData)
subTotal += itemSub
subTotal = subTotal + invoice.fees - invoice.discount
salesTax = subTotal * settings.sales_tax
total = subTotal + salesTax
tableData.append(["","","","","Discount:", "-$%.2f" % invoice.discount])
tableData.append(["","","","","Other Fees:", "$%.2f" % invoice.fees])
tableData.append(["","","","","Sub-Total:", "$%.2f" % subTotal])
tableData.append(["","","","","Sales Tax:", "$%.2f" % salesTax])
tableData.append(["","","","","Total:", "$%.2f" % total])
tableStyle = TableStyle(
[('ALIGN', (-1,0),(-1,-1), 'RIGHT'),
('LINEBELOW',(0,0),(-1,0), 2, colors.black),
('LINEBELOW',(0,-6),(-1,-6), 2, colors.black),
# ('ALIGN', (5,-1),(5,-1), 'RIGHT'),
('FACE', (4,-5),(4,-1), 'Helvetica-Bold'),
('FACE', (0,0),(-1,0), 'Helvetica-Bold'),
('SIZE', (0,0),(-1,-1), 8)])
colWidths = [2*inch, 2*inch, None, None,None, None]
table = Table(tableData, colWidths=colWidths, style=tableStyle)
table.hAlign = "LEFT"
Story.append(table)
if invoice.comment != "":
comment = Paragraph("<b>Comments:</b><br/>%s"%invoice.comment, style)
Story.append(comment)
bankInfo = Paragraph("""
<b>Bank Info</b><br/>
%s<br/>
%s<br/>
<br/>
<b>Acct. Name:</b> %s<br/>
<b>Acct. #:</b> %s<br/>
<b>Routing #:</b> %s<br/>
<b>Swift Code:</b> %s<br/>
""" % (settings.bankName,
settings.bankAddress.replace("\n", "<br/>"),
settings.bankAcctName,
settings.bankAcctNum,
settings.routingNumber,
settings.swiftCode), style)
Story.append(bankInfo)
#.........这里部分代码省略.........