“Nothing annoys people so much as not receiving invitations.”
― Oscar Wilde, The Importance of Being EarnestI know that feeling…humph.. 10:36:20 PM
# usage python invitation.py <textFile> import docx import os import sys import logging from docx.enum.text import WD_ALIGN_PARAGRAPH logging.basicConfig(level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s") if len(sys.argv) == 2: # TODO: GET TEXT FILE textFileName = sys.argv[1] textFileName = os.path.abspath(textFileName) # TODO: TEST IF EXISTS if not os.path.exists(textFileName): logging.error("File does not exist") raise # TODO: READ FILE file = open(textFileName) # TODO: CREATE DOCX OBJECT doc = docx.Document() names = file.readlines() for name in names: name = name.strip() # TODO: CREATE INVITATION PER NAME p = doc.add_paragraph("", "Normal") p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.add_run("It would be a pleasure to have the company of").italic = True p = doc.add_paragraph("", "Title") p.alignment = WD_ALIGN_PARAGRAPH.CENTER r = p.add_run(name) r.bold = True r.all_caps = True p = doc.add_paragraph("", "Normal") p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.add_run("at 1101 Memory Lane on the Evening of").italic = True p = doc.add_paragraph("", "Normal") p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.add_run("April 1st") p = doc.add_paragraph("", "Normal") p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.add_run("at 7 o' clock").italic = True doc.add_page_break() # TODO: SAVE DOCUMENT doc.save("guest_invitation.docx") logging.info("Invitations completed") file.close() else: logging.error("usage python invitation.py <textFile>")
As always we will see in the next post!