Fine tuned displayed texts for multi-day events
This commit is contained in:
parent
afd94ea10f
commit
d7f485cba6
1 changed files with 30 additions and 6 deletions
|
@ -4,7 +4,10 @@ from datetime import timedelta, datetime, timezone
|
||||||
first_occurrence_char = '['
|
first_occurrence_char = '['
|
||||||
middle_occurrence_char = '|'
|
middle_occurrence_char = '|'
|
||||||
last_occurrence_char = ']'
|
last_occurrence_char = ']'
|
||||||
|
multiday_begin_character = ' >'
|
||||||
|
multiday_end_character = '< '
|
||||||
until_character = '-'
|
until_character = '-'
|
||||||
|
allday_character = "•"
|
||||||
|
|
||||||
allday_lang = {
|
allday_lang = {
|
||||||
"en" : "All day",
|
"en" : "All day",
|
||||||
|
@ -12,6 +15,12 @@ allday_lang = {
|
||||||
}
|
}
|
||||||
allday_detailed = allday_lang[language]
|
allday_detailed = allday_lang[language]
|
||||||
|
|
||||||
|
multiday_lang = {
|
||||||
|
"en" : "Multi-day",
|
||||||
|
"de" : "Mehrtägig"
|
||||||
|
}
|
||||||
|
multiday_detailed = multiday_lang[language]
|
||||||
|
|
||||||
def time_str (dt):
|
def time_str (dt):
|
||||||
if hours is "12":
|
if hours is "12":
|
||||||
return dt.strftime("%I:%M%p")
|
return dt.strftime("%I:%M%p")
|
||||||
|
@ -20,7 +29,7 @@ def time_str (dt):
|
||||||
else:
|
else:
|
||||||
return str(dt)
|
return str(dt)
|
||||||
|
|
||||||
def event_prefix_str (event, relative_date=None):
|
def event_prefix_str_md_dif (event, relative_date=None):
|
||||||
if relative_date is None:
|
if relative_date is None:
|
||||||
relative_date = event.begin_datetime.date()
|
relative_date = event.begin_datetime.date()
|
||||||
|
|
||||||
|
@ -30,21 +39,30 @@ def event_prefix_str (event, relative_date=None):
|
||||||
#Relative to
|
#Relative to
|
||||||
#First day
|
#First day
|
||||||
elif __equal__(event.begin_datetime, relative_date):
|
elif __equal__(event.begin_datetime, relative_date):
|
||||||
return event_time_summary(event) + until_character
|
return event_time_summary(event) + multiday_begin_character
|
||||||
|
|
||||||
#Last day
|
#Last day
|
||||||
elif __equal__(event.end_datetime, relative_date) or \
|
elif __equal__(event.end_datetime, relative_date) or \
|
||||||
(__day_duration__(event.end_datetime) == timedelta(0) and __equal__(relative_date + timedelta(1), event.end_datetime)):
|
(__day_duration__(event.end_datetime) == timedelta(0) and __equal__(relative_date + timedelta(1), event.end_datetime)):
|
||||||
return until_character + event_time_summary(event)
|
return multiday_end_character + event_time_summary(event)
|
||||||
|
|
||||||
#Some day
|
#Some day
|
||||||
else:
|
else:
|
||||||
event.allday = True
|
event.allday = True
|
||||||
return until_character + event_time_summary(event) + until_character
|
return multiday_end_character + event_time_summary(event) + multiday_begin_character
|
||||||
|
|
||||||
|
def event_prefix_str (event, relative_date=None):
|
||||||
|
if relative_date is None:
|
||||||
|
relative_date = event.begin_datetime.date()
|
||||||
|
|
||||||
|
if __is_multiday__(event):
|
||||||
|
return multiday_detailed
|
||||||
|
else:
|
||||||
|
return event_time_summary(event)
|
||||||
|
|
||||||
def event_time_summary (event):
|
def event_time_summary (event):
|
||||||
if event.allday:
|
if event.allday:
|
||||||
return "•"
|
return allday_character
|
||||||
else:
|
else:
|
||||||
return time_str(event.begin_datetime)
|
return time_str(event.begin_datetime)
|
||||||
|
|
||||||
|
@ -63,7 +81,13 @@ def remove_leading_zero (text):
|
||||||
return text
|
return text
|
||||||
|
|
||||||
def date_summary_str(dt):
|
def date_summary_str(dt):
|
||||||
return dt.strftime('%a %d. %b')
|
day = remove_leading_zero(dt.strftime("%d"))
|
||||||
|
if language is "en":
|
||||||
|
return dt.strftime('%a ' + day + '. %b')
|
||||||
|
elif language is "de":
|
||||||
|
return dt.strftime(day + '. %b., %a')
|
||||||
|
else:
|
||||||
|
return dt.strftime('%a ' + day + '. %b')
|
||||||
|
|
||||||
def __is_multiday__ (event):
|
def __is_multiday__ (event):
|
||||||
if event.allday and event.duration == timedelta(1):
|
if event.allday and event.duration == timedelta(1):
|
||||||
|
|
Loading…
Reference in a new issue