Ejemplo n.º 1
0
 def test_invalid_values(self):
     with self.assertRaises(ValueError):
         datetimeutil.parse_iso_datetime_string(123)
     with self.assertRaises(ValueError):
         datetimeutil.parse_iso_datetime_string('2014-1-13T00:28:33Z')
     with self.assertRaises(ValueError):
         datetimeutil.parse_iso_datetime_string('2014/1/13T00:28:33Z')
     with self.assertRaises(ValueError):
         datetimeutil.parse_iso_datetime_string('2014-01-13 00:28:33Z')
     with self.assertRaises(ValueError):
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33EST')
Ejemplo n.º 2
0
    def to_python(self, value):
        if value in EMPTY_VALUES:
            return

        if isinstance(value, arrow.Arrow):
            return value

        default_timezone = datetimeutil.local if self.assume_local else datetimeutil.utc

        if isinstance(value, datetime.datetime):
            if value.tzinfo:
                return arrow.Arrow.fromdatetime(value)
            else:
                return arrow.Arrow.fromdatetime(value, default_timezone)

        try:
            return arrow.Arrow.fromdatetime(
                datetimeutil.parse_iso_datetime_string(value,
                                                       default_timezone))
        except ValueError:
            pass

        try:
            return arrow.Arrow.fromdate(
                datetimeutil.parse_iso_date_string(value))
        except ValueError:
            pass
        msg = self.error_messages['invalid']
        raise exceptions.ValidationError(msg)
Ejemplo n.º 3
0
    def to_python(self, value):
        if value in EMPTY_VALUES:
            return

        if isinstance(value, arrow.Arrow):
            return value

        default_timezone = datetimeutil.local if self.assume_local else datetimeutil.utc

        if isinstance(value, datetime.datetime):
            if value.tzinfo:
                return arrow.Arrow.fromdatetime(value)
            else:
                return arrow.Arrow.fromdatetime(value, default_timezone)

        try:
            return arrow.Arrow.fromdatetime(datetimeutil.parse_iso_datetime_string(value, default_timezone))
        except ValueError:
            pass

        try:
            return arrow.Arrow.fromdate(datetimeutil.parse_iso_date_string(value))
        except ValueError:
            pass
        msg = self.error_messages['invalid']
        raise exceptions.ValidationError(msg)
Ejemplo n.º 4
0
    def test_valid_values(self):
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33'))
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33Z'))
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432Z'))
        self.assertEqual(
            datetime.datetime(
                2014, 1, 13, 0, 28, 33, 0,
                datetimeutil.FixedTimezone.from_hours_minutes(10, 0)),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33+10'))
        self.assertEqual(
            datetime.datetime(
                2014, 1, 13, 0, 28, 33, 432,
                datetimeutil.FixedTimezone.from_hours_minutes(10, 0)),
            datetimeutil.parse_iso_datetime_string(
                '2014-01-13T00:28:33.432+10'))
        self.assertEqual(
            datetime.datetime(
                2014, 1, 13, 0, 28, 33, 0,
                datetimeutil.FixedTimezone.from_hours_minutes(10, 30)),
            datetimeutil.parse_iso_datetime_string(
                '2014-01-13T00:28:33+10:30'))
        self.assertEqual(
            datetime.datetime(
                2014, 1, 13, 0, 28, 33, 432,
                datetimeutil.FixedTimezone.from_hours_minutes(-10, -30)),
            datetimeutil.parse_iso_datetime_string(
                '2014-01-13T00:28:33.432-10:30'))
        self.assertEqual(
            datetime.datetime(
                2014, 1, 13, 0, 28, 33, 432,
                datetimeutil.FixedTimezone.from_hours_minutes(10, 30)),
            datetimeutil.parse_iso_datetime_string(
                '2014-01-13T00:28:33.432+1030'))

        # Non-Standard but close formats that are common
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13 00:28:33Z'))
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13 00:28:33 GMT'))
Ejemplo n.º 5
0
 def test_valid_values(self):
     self.assertEqual(
         datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33')
     )
     self.assertEqual(
         datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33Z')
     )
     self.assertEqual(
         datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.utc),
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432Z')
     )
     self.assertEqual(
         datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.FixedTimezone(10, 0, '')),
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33+10')
     )
     self.assertEqual(
         datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.FixedTimezone(10, 0, '')),
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432+10')
     )
     self.assertEqual(
         datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.FixedTimezone(10, 30, '')),
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33+10:30')
     )
     self.assertEqual(
         datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.FixedTimezone(-10, -30, '')),
         datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432-10:30')
     )
Ejemplo n.º 6
0
    def test_valid_values(self):
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33Z')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432Z')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.FixedTimezone.from_hours_minutes(10, 0)),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33+10')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.FixedTimezone.from_hours_minutes(10, 0)),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432+10')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.FixedTimezone.from_hours_minutes(10, 30)),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33+10:30')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.FixedTimezone.from_hours_minutes(-10, -30)),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432-10:30')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 432, datetimeutil.FixedTimezone.from_hours_minutes(10, 30)),
            datetimeutil.parse_iso_datetime_string('2014-01-13T00:28:33.432+1030')
        )

        # Non-Standard but close formats that are common
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13 00:28:33Z')
        )
        self.assertEqual(
            datetime.datetime(2014, 1, 13, 0, 28, 33, 0, datetimeutil.utc),
            datetimeutil.parse_iso_datetime_string('2014-01-13 00:28:33 GMT')
        )
Ejemplo n.º 7
0
 def to_python(self, value):
     if value in EMPTY_VALUES:
         return
     if isinstance(value, datetime.datetime):
         if value.tzinfo and self.ignore_timezone:
             return value.replace(tzinfo=None)
         return value
     default_timezone = datetimeutil.IgnoreTimezone if self.ignore_timezone else None
     try:
         return datetimeutil.parse_iso_datetime_string(value, default_timezone)
     except ValueError:
         pass
     msg = self.error_messages['invalid']
     raise exceptions.ValidationError(msg)
Ejemplo n.º 8
0
 def to_python(self, value):
     if value in EMPTY_VALUES:
         return
     if isinstance(value, datetime.datetime):
         if value.tzinfo and self.ignore_timezone:
             return value.replace(tzinfo=None)
         return value
     default_timezone = datetimeutil.IgnoreTimezone if self.ignore_timezone else None
     try:
         return datetimeutil.parse_iso_datetime_string(
             value, default_timezone)
     except ValueError:
         pass
     msg = self.error_messages['invalid']
     raise exceptions.ValidationError(msg)
Ejemplo n.º 9
0
 def test_valid_values_timezone_handling(self, value, default_tz, expected):
     assert datetimeutil.parse_iso_datetime_string(value,
                                                   default_tz) == expected
Ejemplo n.º 10
0
 def test_valid_values(self, value, expected):
     assert datetimeutil.parse_iso_datetime_string(value) == expected
Ejemplo n.º 11
0
 def test_valid_values_timezone_handling(self, value, default_tz, expected):
     assert datetimeutil.parse_iso_datetime_string(value, default_tz) == expected
Ejemplo n.º 12
0
 def test_valid_values(self, value, expected):
     assert datetimeutil.parse_iso_datetime_string(value) == expected