'(?::(?P<second>\d{1,2})(?:\.(?P<microsecond>\d{1,6})\d{0,6})?)?(?P<tzinfo>Z|[+-]\d{2}(?::?\d{2})?)?$', substitute it for datetime_re. define the function parse_date with an argument value.
def parse_date ( value ) :