def parse_date(self, field): if field == "0": return None date = Date() matches = _text_parse.match(field) if matches: groups = matches.groups() date.set_as_text(groups[0]) date.set_modifier(Date.MOD_TEXTONLY) return date matches = _date_parse.match(field) if matches: groups = matches.groups() mod = _mod_map.get(groups[0], Date.MOD_NONE) if groups[3] == "..": mod = Date.MOD_SPAN cal2 = _cal_map.get(groups[5], Date.CAL_GREGORIAN) sub2 = self.sub_date(groups[4]) else: sub2 = (0, 0, 0) cal1 = _cal_map.get(groups[2], Date.CAL_GREGORIAN) sub1 = self.sub_date(groups[1]) try: date.set(Date.QUAL_NONE, mod, cal1, (sub1[0], sub1[1], sub1[2], 0, sub2[0], sub2[1], sub2[2], 0)) except DateError as e: # TRANSLATORS: leave the {date} and {gw_snippet} untranslated # in the format string, but you may re-order them if needed. LOG.warning( _("Invalid date {date} in {gw_snippet}, " "preserving date as text.").format( date=e.date.to_struct(), gw_snippet=field)) date.set(modifier=Date.MOD_TEXTONLY, text=field) return date else: return None
def parse_date(self,field): if field == "0": return None date = Date() matches = _text_parse.match(field) if matches: groups = matches.groups() date.set_as_text(groups[0]) date.set_modifier(Date.MOD_TEXTONLY) return date matches = _date_parse.match(field) if matches: groups = matches.groups() mod = _mod_map.get(groups[0],Date.MOD_NONE) if groups[3] == "..": mod = Date.MOD_SPAN cal2 = _cal_map.get(groups[5],Date.CAL_GREGORIAN) sub2 = self.sub_date(groups[4]) else: sub2 = (0,0,0) cal1 = _cal_map.get(groups[2],Date.CAL_GREGORIAN) sub1 = self.sub_date(groups[1]) try: date.set(Date.QUAL_NONE,mod, cal1, (sub1[0],sub1[1],sub1[2],0,sub2[0],sub2[1],sub2[2],0)) except DateError as e: # TRANSLATORS: leave the {date} and {gw_snippet} untranslated # in the format string, but you may re-order them if needed. LOG.warning(_( "Invalid date {date} in {gw_snippet}, " "preserving date as text." ).format(date=e.date.to_struct(), gw_snippet=field)) date.set(modifier=Date.MOD_TEXTONLY, text=field) return date else: return None
def makedate(year, month=0, day=0, about=False): d = GrampsDate() d.set_yr_mon_day(year, month, day) if about: d.set_modifier(GrampsDate.MOD_ABOUT) return DateProxy(d)