From 297318af30b1475ad713f095c5ed4e972b44428f Mon Sep 17 00:00:00 2001 From: Max G Date: Sun, 10 Mar 2019 13:26:31 +0100 Subject: [PATCH] Added custom prefix funtion and col spacing options --- Calendar/EventListDesign.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Calendar/EventListDesign.py b/Calendar/EventListDesign.py index 3e626aa..299945c 100644 --- a/Calendar/EventListDesign.py +++ b/Calendar/EventListDesign.py @@ -4,26 +4,29 @@ from TableTextDesign import TableTextDesign class EventListDesign (DesignEntity): """Creates a TableTextDesign filled with event begin date and title""" - def __init__ (self, size, calendar, text_size = 16, filter_date=None, line_spacing=2): + def __init__ (self, size, calendar, text_size = 16, filter_date=None, line_spacing=2, col_spacing=10, event_prefix_func=None): super(EventListDesign, self).__init__(size) self.calendar = calendar self.__event_matrix__ = [] self.text_size = text_size self.filter_date = filter_date self.line_spacing = line_spacing + self.col_spacing = col_spacing + self.event_prefix_func = event_prefix_func + if self.event_prefix_func is None: + self.event_prefix_func = lambda x : self.__remove_leading_zero__(x.begin_datetime.strftime('%d %b')) def __finish_image__ (self): self.__fill_event_matrix__() col_hori_alignment = ['right', 'left'] - table_design = TableTextDesign(self.size, line_spacing=self.line_spacing, col_spacing=10, text_matrix=self.__event_matrix__, fontsize = self.text_size, column_horizontal_alignments=col_hori_alignment, mask=False, truncate_cols=False) + table_design = TableTextDesign(self.size, line_spacing=self.line_spacing, col_spacing=self.col_spacing, text_matrix=self.__event_matrix__, fontsize = self.text_size, column_horizontal_alignments=col_hori_alignment, mask=False, truncate_cols=False) self.draw_design(table_design) def __get_formatted_event__ (self, event): - date = event.begin_datetime.strftime('%d %b') - date = self.__remove_leading_zero__(date) - return [ date, event.title ] + prefix = self.event_prefix_func(event) + return [ prefix, event.title ] def __remove_leading_zero__(self, text): while text[0] is '0':