More code cleanup in get_day_list() with help from Kees Bakker.

svn: r12052
This commit is contained in:
Rob G. Healey 2009-02-20 02:22:33 +00:00
parent bc4ba94a94
commit 1f36ff6a13

View File

@ -426,7 +426,8 @@ class WebCalReport(Report):
num_years = (self.end_year - self.start_year)
cal_year = self.start_year
for rows in range((num_years // 16) + 1):
nrows = (num_years / 16)
for rows in range(0, (nrows + 1)):
of.write('<div id="navigation">\n')
of.write('\t<ul>\n')
cols = 0
@ -907,12 +908,12 @@ class WebCalReport(Report):
for cal_year in range(self.start_year, (self.end_year + 1)):
# generate progress pass for year ????
self.progress.set_pass(_('Creating year %d calendars') % cal_year, 1)
self.progress.set_pass(_('Creating year %d calendars') % cal_year, '')
# initialize the holidays dict to fill:
self.holidays = {}
# get the information, first from holidays:
# get the information, USA is equal to zero now
if self.country != 0:
self.__get_holidays(cal_year)
@ -1434,59 +1435,60 @@ def get_day_list(event_date, holiday_list, bday_anniv_list):
# initialize day_list
day_list = []
##################################################################
# holiday on this day
if holiday_list > []:
# will force holidays to be first in the list
nyears = 0
for event_name in holiday_list:
for line in event_name.splitlines():
day_list.append((nyears, event_date, line, 'Holiday'))
# The 0 will force holidays to be first in the list
for event_name in holiday_list:
for line in event_name.splitlines():
day_list.append((0, event_date, line, 'Holiday'))
##################################################################
##################################################################
# birthday/ anniversary on this day
if bday_anniv_list > []:
birth_anniversary = [(t, e, d) for t, e, d in bday_anniv_list if d.is_valid()]
for text, event, date in birth_anniversary:
# '...' signifies an incomplete date for an event. See add_day_item()
bday_anniv_list = [(t, e, d) for t, e, d in bday_anniv_list
if d != '...']
txt_str = None
# number of years have to be at least zero
bday_anniv_list = [(t, e, d) for t, e, d in bday_anniv_list
if (event_date.get_year() - d.get_year()) >= 0]
for text, event, date in bday_anniv_list:
# number of years married, ex: 10
nyears = event_date.get_year() - date.get_year()
# number of years married, ex: 10
nyears = event_date.get_year() - date.get_year()
# no negative years; have to be at least zero
if nyears > -1:
txt_str = None
# number of years for birthday, ex: 10 years
age_str = event_date - date
age_str.format(precision=1)
# number of years for birthday, ex: 10 years
age_str = event_date - date
age_str.format(precision=1)
# a birthday
if event == 'Birthday':
# a birthday
if event == 'Birthday':
if nyears == 0:
txt_str = _('%(person)s, <em>birth</em>') % {
'person' : text}
else:
txt_str = _('%(person)s, <em>%(age)s</em> old') % {
'person' : text, 'age' : age_str}
if nyears == 0:
txt_str = _('%(person)s, <em>birth</em>') % {
'person' : text}
else:
txt_str = _('%(person)s, <em>%(age)s</em> old') % {
'person' : text, 'age' : age_str}
# an anniversary
elif event == 'Anniversary':
# an anniversary
elif event == 'Anniversary':
if nyears == 0:
txt_str = _('%(couple)s, <em>wedding</em>') % {
'couple' : text}
else:
txt_str = (ngettext('%(couple)s, <em>%(years)d'
'</em> year anniversary',
'%(couple)s, <em>%(years)d'
'</em> year anniversary', nyears)
% {'couple' : text, 'years' : nyears})
txt_str = '<span class="yearsmarried">%s</span>' % txt_str
if nyears == 0:
txt_str = _('%(couple)s, <em>wedding</em>') % {
'couple' : text}
else:
txt_str = (ngettext('%(couple)s, <em>%(years)d'
'</em> year anniversary',
'%(couple)s, <em>%(years)d'
'</em> year anniversary', nyears)
% {'couple' : text, 'years' : nyears})
txt_str = '<span class="yearsmarried">%s</span>' % txt_str
if txt_str is not None:
day_list.append((nyears, date, txt_str, event))
if txt_str is not None:
day_list.append((nyears, date, txt_str, event))
# sort them based on number of years
# holidays will always be on top of day
@ -1558,7 +1560,6 @@ def get_next_day(year, month, day_col):
next_month_day = firstweek_nextmonth[day_col]
return next_month_day
# TODO. Eliminate this function, or make it do something useful.
def _has_webpage_extension(url):
"""
determine if a filename has an extension or not...