Added date validation to these three reports in collect_data().
svn: r11983
This commit is contained in:
parent
4f3c754392
commit
7b85d8e4af
@ -256,7 +256,7 @@ class Calendar(Report):
|
||||
birth_event = self.database.get_event_from_handle(birth_ref.ref)
|
||||
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()
|
||||
month = birth_date.get_month()
|
||||
day = birth_date.get_day()
|
||||
@ -329,31 +329,33 @@ class Calendar(Report):
|
||||
for event_ref in fam.get_event_ref_list():
|
||||
event = self.database.get_event_from_handle(event_ref.ref)
|
||||
event_obj = event.get_date_object()
|
||||
year = event_obj.get_year()
|
||||
month = event_obj.get_month()
|
||||
day = event_obj.get_day()
|
||||
|
||||
prob_alive_date = gen.lib.Date(self.year, month, day)
|
||||
if event_obj.is_valid():
|
||||
year = event_obj.get_year()
|
||||
month = event_obj.get_month()
|
||||
day = event_obj.get_day()
|
||||
|
||||
nyears = self.year - year
|
||||
if nyears == 0:
|
||||
text = _("%(spouse)s and\n %(person)s, wedding") % {
|
||||
'spouse' : spouse_name,
|
||||
'person' : short_name,
|
||||
}
|
||||
else:
|
||||
text = (ngettext("%(spouse)s and\n %(person)s, %(nyears)d",
|
||||
"%(spouse)s and\n %(person)s, %(nyears)d", nyears)
|
||||
% {'spouse' : spouse_name,
|
||||
'person' : short_name,
|
||||
'nyears' : nyears})
|
||||
prob_alive_date = gen.lib.Date(self.year, month, day)
|
||||
|
||||
nyears = self.year - year
|
||||
if nyears == 0:
|
||||
text = _('%(spouse)s and\n %(person)s, wedding') % {
|
||||
'spouse' : spouse_name,
|
||||
'person' : short_name,
|
||||
}
|
||||
else:
|
||||
text = (ngettext("%(spouse)s and\n %(person)s, %(nyears)d",
|
||||
"%(spouse)s and\n %(person)s, %(nyears)d", nyears)
|
||||
% {'spouse' : spouse_name,
|
||||
'person' : short_name,
|
||||
'nyears' : nyears})
|
||||
|
||||
alive1 = probably_alive(person, self.database, \
|
||||
prob_alive_date)
|
||||
alive2 = probably_alive(spouse, self.database, \
|
||||
prob_alive_date)
|
||||
if ((self.alive and alive1 and alive2) or not self.alive):
|
||||
self.add_day_item(text, month, day)
|
||||
alive1 = probably_alive(person, self.database, \
|
||||
prob_alive_date)
|
||||
alive2 = probably_alive(spouse, self.database, \
|
||||
prob_alive_date)
|
||||
if ((self.alive and alive1 and alive2) or not self.alive):
|
||||
self.add_day_item(text, month, day)
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
|
@ -203,7 +203,7 @@ class CalendarReport(Report):
|
||||
birth_event = self.database.get_event_from_handle(birth_ref.ref)
|
||||
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()
|
||||
month = birth_date.get_month()
|
||||
day = birth_date.get_day()
|
||||
@ -290,24 +290,26 @@ class CalendarReport(Report):
|
||||
month = event_obj.get_month()
|
||||
day = event_obj.get_day()
|
||||
nyears = self.year - year
|
||||
if nyears == 0:
|
||||
text = _("%(spouse)s and\n %(person)s, wedding") % {
|
||||
'spouse' : spouse_name,
|
||||
'person' : short_name}
|
||||
else:
|
||||
text = (ngettext("%(spouse)s and\n %(person)s, %(nyears)d",
|
||||
"%(spouse)s and\n %(person)s, %(nyears)d", nyears)
|
||||
% {'spouse' : spouse_name,
|
||||
'person' : short_name,
|
||||
'nyears' : nyears})
|
||||
|
||||
if event_obj.is_valid():
|
||||
if nyears == 0:
|
||||
text = _("%(spouse)s and\n %(person)s, wedding") % {
|
||||
'spouse' : spouse_name,
|
||||
'person' : short_name}
|
||||
else:
|
||||
text = (ngettext("%(spouse)s and\n %(person)s, %(nyears)d",
|
||||
"%(spouse)s and\n %(person)s, %(nyears)d", nyears)
|
||||
% {'spouse' : spouse_name,
|
||||
'person' : short_name,
|
||||
'nyears' : nyears})
|
||||
|
||||
prob_alive_date = gen.lib.Date(self.year, month, day)
|
||||
alive1 = probably_alive(person, self.database, \
|
||||
prob_alive_date)
|
||||
alive2 = probably_alive(spouse, self.database, \
|
||||
prob_alive_date)
|
||||
if (self.alive and alive1 and alive2) or not self.alive:
|
||||
self.add_day_item(text, month, day)
|
||||
prob_alive_date = gen.lib.Date(self.year, month, day)
|
||||
alive1 = probably_alive(person, self.database, \
|
||||
prob_alive_date)
|
||||
alive2 = probably_alive(spouse, self.database, \
|
||||
prob_alive_date)
|
||||
if (self.alive and alive1 and alive2) or not self.alive:
|
||||
self.add_day_item(text, month, day)
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
|
@ -402,7 +402,6 @@ class WebCalReport(Report):
|
||||
nav_text = get_short_month_name(nav_text)
|
||||
|
||||
# Figure out if we need <li id="CurrentSection"> or just plain <li>
|
||||
print url_fname, currentsection
|
||||
if url_fname == currentsection:
|
||||
cs = True
|
||||
|
||||
@ -1027,46 +1026,40 @@ class WebCalReport(Report):
|
||||
birth_date = birth_event.get_date_object()
|
||||
|
||||
# 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()
|
||||
month = birth_date.get_month()
|
||||
day = birth_date.get_day()
|
||||
|
||||
year = birth_date.get_year()
|
||||
month = birth_date.get_month()
|
||||
day = birth_date.get_day()
|
||||
prob_alive_date = gen.lib.Date(this_year, month, day)
|
||||
|
||||
prob_alive_date = gen.lib.Date(this_year, month, day)
|
||||
# add some things to handle maiden name:
|
||||
father_surname = None # husband, actually
|
||||
sex = person.gender
|
||||
if sex == gen.lib.Person.FEMALE:
|
||||
|
||||
# add some things to handle maiden name:
|
||||
father_surname = None # husband, actually
|
||||
sex = person.gender
|
||||
if sex == gen.lib.Person.FEMALE:
|
||||
|
||||
# get husband's last name:
|
||||
if self.maiden_name in ['spouse_first', 'spouse_last']:
|
||||
if len(family_list) > 0:
|
||||
if self.maiden_name == 'spouse_first':
|
||||
fhandle = family_list[0]
|
||||
else:
|
||||
fhandle = family_list[-1]
|
||||
fam = self.database.get_family_from_handle(fhandle)
|
||||
father_handle = fam.get_father_handle()
|
||||
mother_handle = fam.get_mother_handle()
|
||||
if mother_handle == person_handle:
|
||||
if father_handle:
|
||||
father = self.database.get_person_from_handle(father_handle)
|
||||
if father != None:
|
||||
father_name = father.primary_name
|
||||
father_surname = _get_regular_surname(sex, father_name)
|
||||
short_name = _get_short_name(person, father_surname)
|
||||
alive = probably_alive(person, self.database, prob_alive_date)
|
||||
# get husband's last name:
|
||||
if self.maiden_name in ['spouse_first', 'spouse_last']:
|
||||
if len(family_list) > 0:
|
||||
if self.maiden_name == 'spouse_first':
|
||||
fhandle = family_list[0]
|
||||
else:
|
||||
fhandle = family_list[-1]
|
||||
fam = self.database.get_family_from_handle(fhandle)
|
||||
father_handle = fam.get_father_handle()
|
||||
mother_handle = fam.get_mother_handle()
|
||||
if mother_handle == person_handle:
|
||||
if father_handle:
|
||||
father = self.database.get_person_from_handle(father_handle)
|
||||
if father != None:
|
||||
father_name = father.primary_name
|
||||
father_surname = _get_regular_surname(sex, father_name)
|
||||
short_name = _get_short_name(person, father_surname)
|
||||
alive = probably_alive(person, self.database, prob_alive_date)
|
||||
if (self.alive and alive) or not self.alive:
|
||||
text = _('%(short_name)s') % {'short_name' : short_name}
|
||||
if (self.alive and alive) or not self.alive:
|
||||
self.add_day_item(text, year, month, day, 'Birthday')
|
||||
self.add_day_item(text, year, month, day, 'Birthday')
|
||||
|
||||
# add anniversary if requested
|
||||
if self.anniv:
|
||||
@ -1095,12 +1088,7 @@ class WebCalReport(Report):
|
||||
|
||||
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():
|
||||
complete_date = True
|
||||
if complete_date:
|
||||
|
||||
text = _('%(spouse)s and %(person)s') % {
|
||||
'spouse' : spouse_name,
|
||||
'person' : short_name}
|
||||
@ -1523,7 +1511,8 @@ def get_marrital_status(db, family):
|
||||
"""
|
||||
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
|
||||
@ -1544,7 +1533,8 @@ def get_first_day_of_month(year, 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
|
||||
# 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...
|
||||
|
||||
url = filename to be checked
|
||||
ext -- extension to process if there is one or not
|
||||
"""
|
||||
|
||||
if url.endswith(ext):
|
||||
|
Loading…
Reference in New Issue
Block a user