Skip to content

Commit

Permalink
Remove pytz dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
Ch00k committed Nov 21, 2014
1 parent cfd9947 commit 8c0fe81
Showing 1 changed file with 36 additions and 37 deletions.
73 changes: 36 additions & 37 deletions tests/test_inputs.py
Expand Up @@ -3,7 +3,6 @@

#noinspection PyUnresolvedReferences
from nose.tools import assert_equal, assert_raises # you need it for tests in form of continuations
import pytz
import six

from flask_restful import inputs
Expand Down Expand Up @@ -197,146 +196,146 @@ def test_isointerval():
# Full precision with explicit UTC.
"2013-01-01T12:30:00Z/P1Y2M3DT4H5M6S",
(
datetime(2013, 1, 1, 12, 30, 0, tzinfo=pytz.UTC),
datetime(2014, 3, 5, 16, 35, 6, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, 0, tzinfo=UTC()),
datetime(2014, 3, 5, 16, 35, 6, tzinfo=UTC()),
),
),
(
# Full precision with alternate UTC indication
"2013-01-01T12:30+00:00/P2D",
(
datetime(2013, 1, 1, 12, 30, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 3, 12, 30, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, 0, tzinfo=UTC()),
datetime(2013, 1, 3, 12, 30, 0, tzinfo=UTC()),
),
),
(
# Implicit UTC with time
"2013-01-01T15:00/P1M",
(
datetime(2013, 1, 1, 15, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 31, 15, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 15, 0, 0, tzinfo=UTC()),
datetime(2013, 1, 31, 15, 0, 0, tzinfo=UTC()),
),
),
(
# TZ conversion
"2013-01-01T17:00-05:00/P2W",
(
datetime(2013, 1, 1, 22, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 15, 22, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 22, 0, 0, tzinfo=UTC()),
datetime(2013, 1, 15, 22, 0, 0, tzinfo=UTC()),
),
),
(
# Date upgrade to midnight-midnight period
"2013-01-01/P3D",
(
datetime(2013, 1, 1, 0, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 4, 0, 0, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 0, 0, 0, tzinfo=UTC()),
datetime(2013, 1, 4, 0, 0, 0, 0, tzinfo=UTC()),
),
),
(
# Start/end with UTC
"2013-01-01T12:00:00Z/2013-02-01T12:00:00Z",
(
datetime(2013, 1, 1, 12, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 2, 1, 12, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 0, 0, tzinfo=UTC()),
datetime(2013, 2, 1, 12, 0, 0, tzinfo=UTC()),
),
),
(
# Start/end with time upgrade
"2013-01-01/2013-06-30",
(
datetime(2013, 1, 1, tzinfo=pytz.UTC),
datetime(2013, 6, 30, tzinfo=pytz.UTC),
datetime(2013, 1, 1, tzinfo=UTC()),
datetime(2013, 6, 30, tzinfo=UTC()),
),
),
(
# Start/end with TZ conversion
"2013-02-17T12:00:00-07:00/2013-02-28T15:00:00-07:00",
(
datetime(2013, 2, 17, 19, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 2, 28, 22, 0, 0, tzinfo=pytz.UTC),
datetime(2013, 2, 17, 19, 0, 0, tzinfo=UTC()),
datetime(2013, 2, 28, 22, 0, 0, tzinfo=UTC()),
),
),
# Resolution expansion for single date(time)
(
# Second with UTC
"2013-01-01T12:30:45Z",
(
datetime(2013, 1, 1, 12, 30, 45, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, 46, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, 45, tzinfo=UTC()),
datetime(2013, 1, 1, 12, 30, 46, tzinfo=UTC()),
),
),
(
# Second with tz conversion
"2013-01-01T12:30:45+02:00",
(
datetime(2013, 1, 1, 10, 30, 45, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 10, 30, 46, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 10, 30, 45, tzinfo=UTC()),
datetime(2013, 1, 1, 10, 30, 46, tzinfo=UTC()),
),
),
(
# Second with implicit UTC
"2013-01-01T12:30:45",
(
datetime(2013, 1, 1, 12, 30, 45, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, 46, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, 45, tzinfo=UTC()),
datetime(2013, 1, 1, 12, 30, 46, tzinfo=UTC()),
),
),
(
# Minute with UTC
"2013-01-01T12:30+00:00",
(
datetime(2013, 1, 1, 12, 30, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 31, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, tzinfo=UTC()),
datetime(2013, 1, 1, 12, 31, tzinfo=UTC()),
),
),
(
# Minute with conversion
"2013-01-01T12:30+04:00",
(
datetime(2013, 1, 1, 8, 30, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 8, 31, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 8, 30, tzinfo=UTC()),
datetime(2013, 1, 1, 8, 31, tzinfo=UTC()),
),
),
(
# Minute with implicit UTC
"2013-01-01T12:30",
(
datetime(2013, 1, 1, 12, 30, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 31, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, tzinfo=UTC()),
datetime(2013, 1, 1, 12, 31, tzinfo=UTC()),
),
),
(
# Hour, explicit UTC
"2013-01-01T12Z",
(
datetime(2013, 1, 1, 12, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 13, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, tzinfo=UTC()),
datetime(2013, 1, 1, 13, tzinfo=UTC()),
),
),
(
# Hour with offset
"2013-01-01T12-07:00",
(
datetime(2013, 1, 1, 19, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 20, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 19, tzinfo=UTC()),
datetime(2013, 1, 1, 20, tzinfo=UTC()),
),
),
(
# Hour with implicit UTC
"2013-01-01T12",
(
datetime(2013, 1, 1, 12, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 13, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, tzinfo=UTC()),
datetime(2013, 1, 1, 13, tzinfo=UTC()),
),
),
(
# Interval with trailing zero fractional seconds should
# be accepted.
"2013-01-01T12:00:00.0/2013-01-01T12:30:00.000000",
(
datetime(2013, 1, 1, 12, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, 30, tzinfo=pytz.UTC),
datetime(2013, 1, 1, 12, tzinfo=UTC()),
datetime(2013, 1, 1, 12, 30, tzinfo=UTC()),
),
),
]
Expand Down

4 comments on commit 8c0fe81

@joshfriend
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was your motivation for removing pytz? I've been using it in tests and it works fine.

@Ch00k
Copy link
Owner Author

@Ch00k Ch00k commented on 8c0fe81 Nov 21, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this test suite we define a class called UTC, use it in just two tests and then use pytz in all the other tests. I thought I'll just get rid of pytz and use UTC everywhere else, too. Of course as another option we could remove the UTC class and use pytz.UTC eveywhere.

@joshfriend
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other sections of the inputs module still require pytz (_normalize_interval). since it's already installed/required, we might as well use it.

@Ch00k
Copy link
Owner Author

@Ch00k Ch00k commented on 8c0fe81 Nov 21, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's understandable. My intent was to remove pytz only from tests.

Please sign in to comment.