Extracted specific EventListDesign, due to DRY
This commit is contained in:
parent
53f823fdf2
commit
0a6d0ed2b1
2 changed files with 26 additions and 19 deletions
|
@ -3,8 +3,7 @@ from PIL import ImageDraw
|
|||
from TextDesign import TextDesign
|
||||
from WeatherColumnDesign import WeatherColumnDesign
|
||||
from datetime import date, timedelta
|
||||
from EventListDesign import EventListDesign
|
||||
from settings import hours
|
||||
from SingelDayEventListDesign import SingelDayEventListDesign
|
||||
|
||||
numberbox_ypos = 0.15
|
||||
numberbox_height = 1 - 2 * numberbox_ypos
|
||||
|
@ -17,8 +16,6 @@ weekday_ypadding = 0.02
|
|||
weathercolumn_y_size = (0.4, 1)
|
||||
eventlist_y_fontsize = 0.093
|
||||
eventlist_padding = monthbox_xpadding
|
||||
eventlist_colspacing = 5
|
||||
eventlist_allday_char = "•"
|
||||
|
||||
numberbox_font_color = "white"
|
||||
numberbox_background_color = "red"
|
||||
|
@ -63,16 +60,9 @@ class DayHeaderDesign (DesignEntity):
|
|||
size = (self.size[0] - pos[0] - weather_width, self.size[1] - pos[1] - box_ypos)
|
||||
fontsize = eventlist_y_fontsize * self.size[1]
|
||||
|
||||
prefix_func = lambda x : self.__get_event_prefix__(x)
|
||||
event_list = EventListDesign(size, calendar, fontsize, event_prefix_func=prefix_func, filter_date=self.date, col_spacing=eventlist_colspacing)
|
||||
event_list = SingelDayEventListDesign(size, calendar, self.date, fontsize)
|
||||
event_list.pos = pos
|
||||
self.draw_design(event_list)
|
||||
|
||||
def __get_event_prefix__(self, event):
|
||||
if event.allday:
|
||||
return eventlist_allday_char
|
||||
else:
|
||||
return self.__get_time__(event.begin_datetime)
|
||||
|
||||
def __draw_weekday__ (self):
|
||||
font_size = int(weekday_height * self.size[1])
|
||||
|
@ -121,10 +111,4 @@ class DayHeaderDesign (DesignEntity):
|
|||
def __get_day_text__ (self):
|
||||
if self.date.strftime("%d-%m") is "14-03": #PI-Day
|
||||
return "π"
|
||||
return str(self.date.day)
|
||||
|
||||
def __get_time__ (self, time):
|
||||
if hours == "24":
|
||||
return time.strftime('%H:%M')
|
||||
else:
|
||||
return time.strftime('%I:%M')
|
||||
return str(self.date.day)
|
23
Calendar/SingelDayEventListDesign.py
Normal file
23
Calendar/SingelDayEventListDesign.py
Normal file
|
@ -0,0 +1,23 @@
|
|||
from EventListDesign import EventListDesign
|
||||
from settings import hours
|
||||
|
||||
eventlist_colspacing = 5
|
||||
eventlist_allday_char = "•"
|
||||
|
||||
class SingelDayEventListDesign (EventListDesign):
|
||||
"""Specialized event list for day list design."""
|
||||
def __init__ (self, size, calendar, date, font_size = 16):
|
||||
prefix_func = lambda x : self.__get_event_prefix__(x)
|
||||
super().__init__(size, calendar, filter_date=date, text_size=font_size, event_prefix_func=prefix_func, col_spacing=eventlist_colspacing)
|
||||
|
||||
def __get_event_prefix__ (self, event):
|
||||
if event.allday:
|
||||
return eventlist_allday_char
|
||||
else:
|
||||
return self.__get_time__(event.begin_datetime)
|
||||
|
||||
def __get_time__ (self, time):
|
||||
if hours == "24":
|
||||
return time.strftime('%H:%M')
|
||||
else:
|
||||
return time.strftime('%I:%M')
|
Loading…
Reference in a new issue