Added date validation to these three reports in collect_data().

svn: r11983
This commit is contained in:
Rob G. Healey
2009-02-14 00:57:34 +00:00
parent 4f3c754392
commit 7b85d8e4af
3 changed files with 79 additions and 84 deletions

View File

@@ -256,7 +256,7 @@ class Calendar(Report):
birth_event = self.database.get_event_from_handle(birth_ref.ref) birth_event = self.database.get_event_from_handle(birth_ref.ref)
birth_date = birth_event.get_date_object() birth_date = birth_event.get_date_object()
if self.birthdays and birth_date is not None: if (self.birthdays and birth_date is not None and birth_date.is_valid()):
year = birth_date.get_year() year = birth_date.get_year()
month = birth_date.get_month() month = birth_date.get_month()
day = birth_date.get_day() day = birth_date.get_day()
@@ -329,6 +329,8 @@ class Calendar(Report):
for event_ref in fam.get_event_ref_list(): for event_ref in fam.get_event_ref_list():
event = self.database.get_event_from_handle(event_ref.ref) event = self.database.get_event_from_handle(event_ref.ref)
event_obj = event.get_date_object() event_obj = event.get_date_object()
if event_obj.is_valid():
year = event_obj.get_year() year = event_obj.get_year()
month = event_obj.get_month() month = event_obj.get_month()
day = event_obj.get_day() day = event_obj.get_day()
@@ -337,7 +339,7 @@ class Calendar(Report):
nyears = self.year - year nyears = self.year - year
if nyears == 0: if nyears == 0:
text = _("%(spouse)s and\n %(person)s, wedding") % { text = _('%(spouse)s and\n %(person)s, wedding') % {
'spouse' : spouse_name, 'spouse' : spouse_name,
'person' : short_name, 'person' : short_name,
} }

View File

@@ -203,7 +203,7 @@ class CalendarReport(Report):
birth_event = self.database.get_event_from_handle(birth_ref.ref) birth_event = self.database.get_event_from_handle(birth_ref.ref)
birth_date = birth_event.get_date_object() birth_date = birth_event.get_date_object()
if self.birthdays and birth_date is not None: if (self.birthdays and birth_date is not None and birth_date.is_valid()):
year = birth_date.get_year() year = birth_date.get_year()
month = birth_date.get_month() month = birth_date.get_month()
day = birth_date.get_day() day = birth_date.get_day()
@@ -290,6 +290,8 @@ class CalendarReport(Report):
month = event_obj.get_month() month = event_obj.get_month()
day = event_obj.get_day() day = event_obj.get_day()
nyears = self.year - year nyears = self.year - year
if event_obj.is_valid():
if nyears == 0: if nyears == 0:
text = _("%(spouse)s and\n %(person)s, wedding") % { text = _("%(spouse)s and\n %(person)s, wedding") % {
'spouse' : spouse_name, 'spouse' : spouse_name,

View File

@@ -402,7 +402,6 @@ class WebCalReport(Report):
nav_text = get_short_month_name(nav_text) nav_text = get_short_month_name(nav_text)
# Figure out if we need <li id="CurrentSection"> or just plain <li> # Figure out if we need <li id="CurrentSection"> or just plain <li>
print url_fname, currentsection
if url_fname == currentsection: if url_fname == currentsection:
cs = True cs = True
@@ -1027,13 +1026,7 @@ class WebCalReport(Report):
birth_date = birth_event.get_date_object() birth_date = birth_event.get_date_object()
# determine birthday information??? # determine birthday information???
if self.birthday and birth_date is not None: if (self.birthday and birth_date is not None and birth_date.is_valid()):
# determine if birthdadate is a valid date???
complete_date = False
if birth_date.is_valid():
complete_date = True
if complete_date:
year = birth_date.get_year() year = birth_date.get_year()
month = birth_date.get_month() month = birth_date.get_month()
@@ -1064,8 +1057,8 @@ class WebCalReport(Report):
father_surname = _get_regular_surname(sex, father_name) father_surname = _get_regular_surname(sex, father_name)
short_name = _get_short_name(person, father_surname) short_name = _get_short_name(person, father_surname)
alive = probably_alive(person, self.database, prob_alive_date) alive = probably_alive(person, self.database, prob_alive_date)
text = _('%(short_name)s') % {'short_name' : short_name}
if (self.alive and alive) or not self.alive: if (self.alive and alive) or not self.alive:
text = _('%(short_name)s') % {'short_name' : short_name}
self.add_day_item(text, year, month, day, 'Birthday') self.add_day_item(text, year, month, day, 'Birthday')
# add anniversary if requested # add anniversary if requested
@@ -1095,12 +1088,7 @@ class WebCalReport(Report):
prob_alive_date = gen.lib.Date(this_year, month, day) prob_alive_date = gen.lib.Date(this_year, month, day)
# determine if anniversary date is a valid date???
complete_date = False
if event_obj.is_valid(): if event_obj.is_valid():
complete_date = True
if complete_date:
text = _('%(spouse)s and %(person)s') % { text = _('%(spouse)s and %(person)s') % {
'spouse' : spouse_name, 'spouse' : spouse_name,
'person' : short_name} 'person' : short_name}
@@ -1523,7 +1511,8 @@ def get_marrital_status(db, family):
""" """
Returns the marital status of two people, a couple Returns the marital status of two people, a couple
are_married will either be the marriage event or None if not married anymore are_married will either be the marriage event
or None if not married anymore
""" """
are_married = None are_married = None
@@ -1544,7 +1533,8 @@ def get_first_day_of_month(year, month):
It can also be a day in the previous month. It can also be a day in the previous month.
""" """
current_date = datetime.date(year, month, 1) # first day of the month # first day of the month
current_date = datetime.date(year, month, 1)
# monthinfo is filled using standard Python library # monthinfo is filled using standard Python library
# calendar.monthcalendar. It fills a list of 7-day-lists. The first day # calendar.monthcalendar. It fills a list of 7-day-lists. The first day
@@ -1586,6 +1576,7 @@ def _has_webpage_extension(url, ext):
determine if a filename has an extension or not... determine if a filename has an extension or not...
url = filename to be checked url = filename to be checked
ext -- extension to process if there is one or not
""" """
if url.endswith(ext): if url.endswith(ext):