Glemte å legge til pdf.py
This commit is contained in:
parent
8621e07dcf
commit
c4e2178c03
29
otime/pdf.py
29
otime/pdf.py
@ -1,22 +1,31 @@
|
||||
import datetime
|
||||
from fpdf import FPDF
|
||||
|
||||
def create_start_list(event, file_path):
|
||||
pdf = FPDF()
|
||||
def create_result_list(event, file_path, o_classes=[]):
|
||||
results = event.get_result(o_classes)
|
||||
|
||||
pdf = FPDF()
|
||||
pdf.add_page()
|
||||
pdf.add_font("LiberationSans", fname="../../otime/data/fonts/LiberationSans-Regular.ttf")
|
||||
pdf.set_font("LiberationSans", size=10)
|
||||
line_height = pdf.font_size * 1.5
|
||||
col_width = pdf.epw / 4 # distribute content evenly
|
||||
for runner in event.runners:
|
||||
pdf.multi_cell(col_width, line_height, runner.fullname(), border=1, ln=3, max_line_height=pdf.font_size, align='L')
|
||||
pdf.multi_cell(col_width, line_height, runner.o_class, border=1, ln=3, max_line_height=pdf.font_size)
|
||||
pdf.multi_cell(col_width, line_height, str(runner.card_id), border=1, ln=3, max_line_height=pdf.font_size)
|
||||
if runner.start_time is not None:
|
||||
pdf.multi_cell(col_width, line_height, str(runner.start_time), border=1, ln=3, max_line_height=pdf.font_size)
|
||||
else:
|
||||
pdf.multi_cell(col_width, line_height, '', border=1, ln=3, max_line_height=pdf.font_size)
|
||||
|
||||
for class_result in results:
|
||||
pdf.write(txt=class_result.name)
|
||||
pdf.ln(line_height)
|
||||
for runner in class_result.runner_results:
|
||||
if runner.status == 'OK':
|
||||
pdf.multi_cell(col_width, line_height, str(runner.place), border=1, ln=3, max_line_height=pdf.font_size, align='L')
|
||||
else:
|
||||
pdf.multi_cell(col_width, line_height, runner.status, border=1, ln=3, max_line_height=pdf.font_size, align='L')
|
||||
pdf.multi_cell(col_width, line_height, runner.fullname(), border=1, ln=3, max_line_height=pdf.font_size, align='L')
|
||||
pdf.multi_cell(col_width, line_height, runner.club, border=1, ln=3, max_line_height=pdf.font_size)
|
||||
if runner.status == 'OK':
|
||||
pdf.multi_cell(col_width, line_height, str(datetime.timedelta(seconds = runner.total_time)), border=1, ln=3, max_line_height=pdf.font_size)
|
||||
else:
|
||||
pdf.multi_cell(col_width, line_height, '', border=1, ln=3, max_line_height=pdf.font_size)
|
||||
pdf.ln(line_height)
|
||||
pdf.output(file_path)
|
||||
|
||||
def create_all_invoices(self, filename_prefix):
|
||||
|
Loading…
Reference in New Issue
Block a user