2019-03-03 14:00:10 +01:00
|
|
|
from DesignEntity import DesignEntity
|
|
|
|
from TableTextDesign import TableTextDesign
|
|
|
|
|
|
|
|
col_sizes = [0.15, 0.85]
|
|
|
|
|
|
|
|
class EventListDesign (DesignEntity):
|
|
|
|
"""Creates a TableTextDesign filled with event
|
|
|
|
begin date and title"""
|
|
|
|
def __init__ (self, size, calendar, event_count = None, text_size = 16):
|
|
|
|
super(EventListDesign, self).__init__(size)
|
|
|
|
self.calendar = calendar
|
|
|
|
self.__event_matrix__ = []
|
|
|
|
self.text_size = text_size
|
|
|
|
|
|
|
|
def __finish_image__ (self):
|
|
|
|
self.__fill_event_matrix__()
|
|
|
|
|
|
|
|
max_col_size = [int(col_sizes[0] * self.size[0]), int(col_sizes[1] * self.size[0])]
|
|
|
|
|
2019-03-03 16:44:37 +01:00
|
|
|
table_design = TableTextDesign(self.size, line_spacing=3, col_spacing=5, text_matrix=self.__event_matrix__, fontsize = self.text_size, mask=False, max_col_size = max_col_size, truncate_cols=False)
|
2019-03-03 14:00:10 +01:00
|
|
|
self.draw_design(table_design)
|
|
|
|
|
|
|
|
def __get_formatted_event__ (self, event):
|
|
|
|
return [ event.begin_datetime.strftime('%d %b'), event.title ]
|
|
|
|
|
|
|
|
def __fill_event_matrix__ (self):
|
|
|
|
for event in self.calendar.get_upcoming_events():
|
|
|
|
row = self.__get_formatted_event__(event)
|
|
|
|
self.__event_matrix__.append(row)
|