from ibp.buttonsheet import ButtonSheet from ibp.templates import TemplateFor55Buttons from ibp.elements import FlowableFactory import xing from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont import codecs from subprocess import call pdfmetrics.registerFont(TTFont('default', 'GillSansBold.ttf')) pdf_filename = "xing.pdf" template = TemplateFor55Buttons(pdf_filename) with codecs.open('xing.csv', encoding='utf-16-le') as f: lines = f.readlines() lines = [line.encode('utf-8') for line in lines] names = xing.extract_names_from_csv(lines) ButtonSheet().add_buttons(names).build(template, FlowableFactory()) call(["xdg-open", pdf_filename])
def cleans_up_names(self): names = xing.extract_names_from_csv(['"Joanna"']) assert_equal(["Joanna"], names)
def ignores_all_columns_but_first__columns_are_tab_separated(self): names = xing.extract_names_from_csv(['"Joanna" "was" "born"']) assert_equal(["Joanna"], names)
def ignores_header_which_is_discernible_by_lack_of_quotation(self): names = xing.extract_names_from_csv(['name', '"Joanna"']) assert_equal(["Joanna"], names)
def ignores_empty_lines(self): names = xing.extract_names_from_csv(['']) assert_equal([], names)