Ejemplo n.º 1
0
    def test_timezone_schema_serialize(self):
        from ptah.form import null, TimezoneField

        typ = TimezoneField('test')

        self.assertTrue(typ.serialize(null) is null)
        self.assertEqual(typ.serialize(pytz.UTC), 'utc')
Ejemplo n.º 2
0
    def test_timezone_schema_serialize(self):
        from ptah.form import null, TimezoneField

        typ = TimezoneField('test')

        self.assertTrue(typ.serialize(null) is null)
        self.assertEqual(typ.serialize(pytz.UTC), 'utc')
Ejemplo n.º 3
0
    def test_timezone_loads(self):
        from ptah.form import null, TimezoneField

        typ = TimezoneField('test')

        tz = typ.loads('"asia/almaty"')
        self.assertEqual(tz, pytz.timezone('Asia/Almaty'))

        tz = typ.loads('asia/almaty')
        self.assertEqual(tz, pytz.timezone('Asia/Almaty'))

        tz = typ.loads('Asia/Almaty')
        self.assertEqual(tz, pytz.timezone('Asia/Almaty'))
Ejemplo n.º 4
0
    def test_timezone_loads(self):
        from ptah.form import null, TimezoneField

        typ = TimezoneField('test')

        tz = typ.loads('"asia/almaty"')
        self.assertEqual(tz, pytz.timezone('Asia/Almaty'))

        tz = typ.loads('asia/almaty')
        self.assertEqual(tz, pytz.timezone('Asia/Almaty'))

        tz = typ.loads('Asia/Almaty')
        self.assertEqual(tz, pytz.timezone('Asia/Almaty'))
Ejemplo n.º 5
0
    def test_timezone_schema_to_field(self):
        from ptah.form import null, Invalid, TimezoneField

        typ = TimezoneField('test')
        loc_dt = datetime(2002, 10, 27, 1, 30, 00)

        self.assertTrue(typ.to_field(null) is null)
        self.assertTrue(typ.to_field('') is null)

        # special case for 'GMT+X' timezones
        self.assertEqual(repr(typ.to_field('GMT+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")
        self.assertEqual(repr(typ.to_field('gmt+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")

        # general timezones
        self.assertEqual(typ.to_field('US/Central') \
                            .localize(loc_dt, is_dst=False).strftime('%Z%z'),
                         "CST-0600")

        self.assertEqual(typ.to_field('us/central') \
                            .localize(loc_dt, is_dst=False).strftime('%Z%z'),
                         "CST-0600")

        # unknown timezone
        self.assertRaises(Invalid, typ.to_field, 'unknown')
Ejemplo n.º 6
0
    def test_timezone_schema_deserialize(self):
        from ptah.form import null, Invalid, TimezoneField

        typ = TimezoneField('test')

        self.assertTrue(typ.deserialize(null) is null)
        self.assertTrue(typ.deserialize('') is null)

        # special case for 'GMT+X' timezones
        self.assertEqual(repr(typ.deserialize('GMT+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")
        self.assertEqual(repr(typ.deserialize('gmt+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")

        # general timezones
        self.assertEqual(repr(typ.deserialize('US/Central')),
                         "<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>")

        self.assertEqual(repr(typ.deserialize('us/central')),
                         "<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>")

        # unknown timezone
        self.assertRaises(Invalid, typ.deserialize, 'unknown')
Ejemplo n.º 7
0
    def test_timezone_schema_deserialize(self):
        from ptah.form import null, Invalid, TimezoneField

        typ = TimezoneField('test')

        self.assertTrue(typ.deserialize(null) is null)
        self.assertTrue(typ.deserialize('') is null)

        # special case for 'GMT+X' timezones
        self.assertEqual(repr(typ.deserialize('GMT+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")
        self.assertEqual(repr(typ.deserialize('gmt+6')),
                         "<StaticTzInfo 'Etc/GMT+6'>")

        # general timezones
        self.assertEqual(repr(typ.deserialize('US/Central')),
                         "<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>")

        self.assertEqual(repr(typ.deserialize('us/central')),
                         "<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>")

        # unknown timezone
        self.assertRaises(Invalid, typ.deserialize, 'unknown')