diff --git a/lesssimplelayout.py b/lesssimplelayout.py new file mode 100644 index 0000000..ec885b2 --- /dev/null +++ b/lesssimplelayout.py @@ -0,0 +1,56 @@ +from reportlab.lib.pagesizes import * +from reportlab.pdfgen import canvas +from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, PageBreak +from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle +from calibrestekje import Book, Publisher, init_session + +pagewidth, pageheight = landscape(A6) + +doc = SimpleDocTemplate("text.pdf", pagesize=landscape(A6), + rightMargin=18, leftMargin=18, + topMargin=0, bottomMargin=18) + +content = [] +styles = getSampleStyleSheet() + +session = init_session("sqlite:///metadata.db") + +for book in session.query(Book).all(): + + print (book.title) + print (book.authors) + + # c.drawString(10,pageheight-10, book.title) + # c.showPage() + + # create a paragraph and append content to it - e.g. book.title, book.authors etc + p = Paragraph('{}'.format(book.title), styles["Italic"]) + + content.append(p) + # content.append(PageBreak()) + content.append(Spacer(1, 12)) + + #import ipdb; ipdb.set_trace() + + format_string = '{}' + all_authors = [author.name for author in book.authors] + glued_together = format_string.format(", ".join(all_authors)) + + # ALTERNATIVE WAY... (without list comprehensions) + first = True + author_text = "" + for author in book.authors: + if not first: + text += ", " + author_text += "{}".format(author.name) + first = False + + #if all_authors==['John Markoff']: + # import ipdb; ipdb.set_trace() + + p = Paragraph(glued_together, styles["Normal"]) + content.append(p) + content.append(PageBreak()) + content.append(Spacer(1, 12)) + +doc.build(content) \ No newline at end of file