match = re.match(r'^([0-9]{2,4})[;/,>?-]?$', year_str)
if match:
- from_year = self.parse_year(int(match.group(1)))
+ from_year = self.parse_year(match.group(1))
if match.lastindex > 1:
- to_year = self.parse_year(int(match.group(2)))
+ to_year = self.parse_year(match.group(2))
else:
to_year = from_year
def parse_date_data(self, data, default_year, month_names):
+ if data.has_key('month_or_year') and int(data['month_or_year']):
+ if int(data['month_or_year']) <= 12 and default_year:
+ data['month'] = data['month_or_year']
+ data['day'] = data['day_or_month']
+ else:
+ data['year'] = data['month_or_year']
+ data['month'] = data['day_or_month']
+
if data.has_key('year') and int(data['year']):
- year = self.parse_year(int(data['year']))
+ year = self.parse_year(data['year'])
if data.has_key('until_year'):
- until_year = self.parse_year(int(data['until_year']))
+ until_year = self.parse_year(data['until_year'])
else:
until_year = year
else:
# from and until year
ur'^ *(?P<year>[0-9]{4}) *[/,-] *(?P<until_year>[0-9]{2,4}) *$',
+ # day and month or month and year
+ ur'^ *(?P<day_or_month>[0-9]{1,2}) *[_./-] *(?P<month_or_year>[0-9]{2,4}) *$',
+
# month and year
- ur'^ *(?P<month>[0-9]{1,2}) *[_./-] *(?P<year>[0-9]{2,4}) *$',
ur'^ *(?P<name>' + namepattern + ') *\.? *(?P<year>[0-9]{2,4}) *-'
' *(?P<until_name>' + namepattern + ') *\.? *(?P<until_year>[0-9]{2,4}) *$',
ur'^ *(début|mi|fin|) *(?P<name>' + namepattern + ') *(?P<year>[0-9]{2,4})[ ?]*$',
old_code = row[0]
year_str = row[1]
- default_year = self.parse_year(int(year_str))
+ default_year = self.parse_year(year_str)
date_str = row[2]
data = {}