summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo Niemeyer <gustavo@niemeyer.net>2011-03-24 14:16:39 -0300
committerGustavo Niemeyer <gustavo@niemeyer.net>2011-03-24 14:16:39 -0300
commitac37a80ce677025e03951091284feab1eadc0404 (patch)
tree0d9d2c886439affe076804fcbefc20fd98bc56ea
parent30af0028a6633dc415a6c41bf2f2a67bda9bb68a (diff)
downloaddateutil-ac37a80ce677025e03951091284feab1eadc0404.tar.gz
Applying Python 3 support patch by Brian Jones.
-rw-r--r--dateutil/easter.py4
-rw-r--r--dateutil/parser.py39
-rw-r--r--dateutil/relativedelta.py23
-rw-r--r--dateutil/rrule.py100
-rw-r--r--dateutil/tz.py93
-rw-r--r--dateutil/tzwin.py30
-rw-r--r--dateutil/zoneinfo/__init__.py3
-rw-r--r--example.py14
-rw-r--r--sandbox/scheduler.py4
-rw-r--r--setup.py4
-rw-r--r--test.py657
-rwxr-xr-xupdatezinfo.py16
12 files changed, 491 insertions, 496 deletions
diff --git a/dateutil/easter.py b/dateutil/easter.py
index d794410..07e643b 100644
--- a/dateutil/easter.py
+++ b/dateutil/easter.py
@@ -52,7 +52,7 @@ def easter(year, method=EASTER_WESTERN):
"""
if not (1 <= method <= 3):
- raise ValueError, "invalid method"
+ raise ValueError("invalid method")
# g - Golden year - 1
# c - Century
@@ -88,5 +88,5 @@ def easter(year, method=EASTER_WESTERN):
p = i-j+e
d = 1+(p+27+(p+6)//40)%31
m = 3+(p+26)//30
- return datetime.date(int(y),int(m),int(d))
+ return datetime.date(int(y), int(m), int(d))
diff --git a/dateutil/parser.py b/dateutil/parser.py
index 5d824e4..ad8fee4 100644
--- a/dateutil/parser.py
+++ b/dateutil/parser.py
@@ -13,14 +13,15 @@ import string
import time
import sys
import os
+import collections
try:
- from cStringIO import StringIO
+ from io import StringIO
except ImportError:
- from StringIO import StringIO
+ from io import StringIO
-import relativedelta
-import tz
+from . import relativedelta
+from . import tz
__all__ = ["parse", "parserinfo"]
@@ -39,7 +40,7 @@ __all__ = ["parse", "parserinfo"]
class _timelex(object):
def __init__(self, instream):
- if isinstance(instream, basestring):
+ if isinstance(instream, str):
instream = StringIO(instream)
self.instream = instream
self.wordchars = ('abcdfeghijklmnopqrstuvwxyz'
@@ -133,7 +134,7 @@ class _timelex(object):
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
token = self.get_token()
if token is None:
raise StopIteration
@@ -155,7 +156,7 @@ class _resultbase(object):
for attr in self.__slots__:
value = getattr(self, attr)
if value is not None:
- l.append("%s=%s" % (attr, `value`))
+ l.append("%s=%s" % (attr, repr(value)))
return "%s(%s)" % (classname, ", ".join(l))
def __repr__(self):
@@ -300,7 +301,7 @@ class parser(object):
second=0, microsecond=0)
res = self._parse(timestr, **kwargs)
if res is None:
- raise ValueError, "unknown string format"
+ raise ValueError("unknown string format")
repl = {}
for attr in ["year", "month", "day", "hour",
"minute", "second", "microsecond"]:
@@ -311,20 +312,20 @@ class parser(object):
if res.weekday is not None and not res.day:
ret = ret+relativedelta.relativedelta(weekday=res.weekday)
if not ignoretz:
- if callable(tzinfos) or tzinfos and res.tzname in tzinfos:
- if callable(tzinfos):
+ if isinstance(tzinfos, collections.Callable) or tzinfos and res.tzname in tzinfos:
+ if isinstance(tzinfos, collections.Callable):
tzdata = tzinfos(res.tzname, res.tzoffset)
else:
tzdata = tzinfos.get(res.tzname)
if isinstance(tzdata, datetime.tzinfo):
tzinfo = tzdata
- elif isinstance(tzdata, basestring):
+ elif isinstance(tzdata, str):
tzinfo = tz.tzstr(tzdata)
elif isinstance(tzdata, int):
tzinfo = tz.tzoffset(res.tzname, tzdata)
else:
- raise ValueError, "offset must be tzinfo subclass, " \
- "tz string, or int offset"
+ raise ValueError("offset must be tzinfo subclass, " \
+ "tz string, or int offset")
ret = ret.replace(tzinfo=tzinfo)
elif res.tzname and res.tzname in time.tzname:
ret = ret.replace(tzinfo=tz.tzlocal())
@@ -585,7 +586,7 @@ class parser(object):
# Check for a numbered timezone
if res.hour is not None and l[i] in ('+', '-'):
- signal = (-1,1)[l[i] == '+']
+ signal = (-1, 1)[l[i] == '+']
i += 1
len_li = len(l[i])
if len_li == 4:
@@ -743,7 +744,7 @@ class _tzparser(object):
if l[i] in ('+', '-'):
# Yes, that's right. See the TZ variable
# documentation.
- signal = (1,-1)[l[i] == '+']
+ signal = (1, -1)[l[i] == '+']
i += 1
else:
signal = -1
@@ -801,15 +802,15 @@ class _tzparser(object):
x.time = int(l[i])
i += 2
if i < len_l:
- if l[i] in ('-','+'):
- signal = (-1,1)[l[i] == "+"]
+ if l[i] in ('-', '+'):
+ signal = (-1, 1)[l[i] == "+"]
i += 1
else:
signal = 1
res.dstoffset = (res.stdoffset+int(l[i]))*signal
elif (l.count(',') == 2 and l[i:].count('/') <= 2 and
- not [y for x in l[i:] if x not in (',','/','J','M',
- '.','-',':')
+ not [y for x in l[i:] if x not in (',', '/', 'J', 'M',
+ '.', '-', ':')
for y in x if y not in "0123456789"]):
for x in (res.start, res.end):
if l[i] == 'J':
diff --git a/dateutil/relativedelta.py b/dateutil/relativedelta.py
index 0c72a81..75eb357 100644
--- a/dateutil/relativedelta.py
+++ b/dateutil/relativedelta.py
@@ -113,10 +113,9 @@ Here is the behavior of operations with relativedelta:
yearday=None, nlyearday=None,
hour=None, minute=None, second=None, microsecond=None):
if dt1 and dt2:
- if not isinstance(dt1, datetime.date) or \
- not isinstance(dt2, datetime.date):
- raise TypeError, "relativedelta only diffs datetime/date"
- if type(dt1) is not type(dt2):
+ if (not isinstance(dt1, datetime.date)) or (not isinstance(dt2, datetime.date)):
+ raise TypeError("relativedelta only diffs datetime/date")
+ if not type(dt1) == type(dt2): #isinstance(dt1, type(dt2)):
if not isinstance(dt1, datetime.datetime):
dt1 = datetime.datetime.fromordinal(dt1.toordinal())
elif not isinstance(dt2, datetime.datetime):
@@ -172,7 +171,7 @@ Here is the behavior of operations with relativedelta:
self.second = second
self.microsecond = microsecond
- if type(weekday) is int:
+ if isinstance(weekday, int):
self.weekday = weekdays[weekday]
else:
self.weekday = weekday
@@ -185,7 +184,7 @@ Here is the behavior of operations with relativedelta:
if yearday > 59:
self.leapdays = -1
if yday:
- ydayidx = [31,59,90,120,151,181,212,243,273,304,334,366]
+ ydayidx = [31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 366]
for idx, ydays in enumerate(ydayidx):
if yday <= ydays:
self.month = idx+1
@@ -195,7 +194,7 @@ Here is the behavior of operations with relativedelta:
self.day = yday-ydayidx[idx-1]
break
else:
- raise ValueError, "invalid year day (%d)" % yday
+ raise ValueError("invalid year day (%d)" % yday)
self._fix()
@@ -244,7 +243,7 @@ Here is the behavior of operations with relativedelta:
def __radd__(self, other):
if not isinstance(other, datetime.date):
- raise TypeError, "unsupported type for add operation"
+ raise TypeError("unsupported type for add operation")
elif self._has_time and not isinstance(other, datetime.datetime):
other = datetime.datetime.fromordinal(other.toordinal())
year = (self.year or other.year)+self.years
@@ -290,7 +289,7 @@ Here is the behavior of operations with relativedelta:
def __add__(self, other):
if not isinstance(other, relativedelta):
- raise TypeError, "unsupported type for add operation"
+ raise TypeError("unsupported type for add operation")
return relativedelta(years=other.years+self.years,
months=other.months+self.months,
days=other.days+self.days,
@@ -310,7 +309,7 @@ Here is the behavior of operations with relativedelta:
def __sub__(self, other):
if not isinstance(other, relativedelta):
- raise TypeError, "unsupported type for sub operation"
+ raise TypeError("unsupported type for sub operation")
return relativedelta(years=other.years-self.years,
months=other.months-self.months,
days=other.days-self.days,
@@ -346,7 +345,7 @@ Here is the behavior of operations with relativedelta:
second=self.second,
microsecond=self.microsecond)
- def __nonzero__(self):
+ def __bool__(self):
return not (not self.years and
not self.months and
not self.days and
@@ -426,7 +425,7 @@ Here is the behavior of operations with relativedelta:
"hour", "minute", "second", "microsecond"]:
value = getattr(self, attr)
if value is not None:
- l.append("%s=%s" % (attr, `value`))
+ l.append("%s=%s" % (attr, repr(value)))
return "%s(%s)" % (self.__class__.__name__, ", ".join(l))
# vim:ts=4:sw=4:et
diff --git a/dateutil/rrule.py b/dateutil/rrule.py
index 6bd83ca..a7f96ff 100644
--- a/dateutil/rrule.py
+++ b/dateutil/rrule.py
@@ -10,7 +10,7 @@ __license__ = "PSF License"
import itertools
import datetime
import calendar
-import thread
+import _thread
import sys
__all__ = ["rrule", "rruleset", "rrulestr",
@@ -22,15 +22,15 @@ __all__ = ["rrule", "rruleset", "rrulestr",
M366MASK = tuple([1]*31+[2]*29+[3]*31+[4]*30+[5]*31+[6]*30+
[7]*31+[8]*31+[9]*30+[10]*31+[11]*30+[12]*31+[1]*7)
M365MASK = list(M366MASK)
-M29, M30, M31 = range(1,30), range(1,31), range(1,32)
+M29, M30, M31 = list(range(1, 30)), list(range(1, 31)), list(range(1, 32))
MDAY366MASK = tuple(M31+M29+M31+M30+M31+M30+M31+M31+M30+M31+M30+M31+M31[:7])
MDAY365MASK = list(MDAY366MASK)
-M29, M30, M31 = range(-29,0), range(-30,0), range(-31,0)
+M29, M30, M31 = list(range(-29, 0)), list(range(-30, 0)), list(range(-31, 0))
NMDAY366MASK = tuple(M31+M29+M31+M30+M31+M30+M31+M31+M30+M31+M30+M31+M31[:7])
NMDAY365MASK = list(NMDAY366MASK)
-M366RANGE = (0,31,60,91,121,152,182,213,244,274,305,335,366)
-M365RANGE = (0,31,59,90,120,151,181,212,243,273,304,334,365)
-WDAYMASK = [0,1,2,3,4,5,6]*55
+M366RANGE = (0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366)
+M365RANGE = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365)
+WDAYMASK = [0, 1, 2, 3, 4, 5, 6]*55
del M29, M30, M31, M365MASK[59], MDAY365MASK[59], NMDAY365MASK[31]
MDAY365MASK = tuple(MDAY365MASK)
M365MASK = tuple(M365MASK)
@@ -41,7 +41,7 @@ M365MASK = tuple(M365MASK)
DAILY,
HOURLY,
MINUTELY,
- SECONDLY) = range(7)
+ SECONDLY) = list(range(7))
# Imported on demand.
easter = None
@@ -52,7 +52,7 @@ class weekday(object):
def __init__(self, weekday, n=None):
if n == 0:
- raise ValueError, "Can't create weekday with n == 0"
+ raise ValueError("Can't create weekday with n == 0")
self.weekday = weekday
self.n = n
@@ -83,7 +83,7 @@ class rrulebase:
def __init__(self, cache=False):
if cache:
self._cache = []
- self._cache_lock = thread.allocate_lock()
+ self._cache_lock = _thread.allocate_lock()
self._cache_gen = self._iter()
self._cache_complete = False
else:
@@ -112,7 +112,7 @@ class rrulebase:
break
try:
for j in range(10):
- cache.append(gen.next())
+ cache.append(next(gen))
except StopIteration:
self._cache_gen = gen = None
self._cache_complete = True
@@ -133,13 +133,13 @@ class rrulebase:
else:
return list(itertools.islice(self,
item.start or 0,
- item.stop or sys.maxint,
+ item.stop or sys.maxsize,
item.step or 1))
elif item >= 0:
gen = iter(self)
try:
for i in range(item+1):
- res = gen.next()
+ res = next(gen)
except StopIteration:
raise IndexError
return res
@@ -250,13 +250,13 @@ class rrule(rrulebase):
self._until = until
if wkst is None:
self._wkst = calendar.firstweekday()
- elif type(wkst) is int:
+ elif isinstance(wkst, int):
self._wkst = wkst
else:
self._wkst = wkst.weekday
if bysetpos is None:
self._bysetpos = None
- elif type(bysetpos) is int:
+ elif isinstance(bysetpos, int):
if bysetpos == 0 or not (-366 <= bysetpos <= 366):
raise ValueError("bysetpos must be between 1 and 366, "
"or between -366 and -1")
@@ -280,14 +280,14 @@ class rrule(rrulebase):
# bymonth
if not bymonth:
self._bymonth = None
- elif type(bymonth) is int:
+ elif isinstance(bymonth, int):
self._bymonth = (bymonth,)
else:
self._bymonth = tuple(bymonth)
# byyearday
if not byyearday:
self._byyearday = None
- elif type(byyearday) is int:
+ elif isinstance(byyearday, int):
self._byyearday = (byyearday,)
else:
self._byyearday = tuple(byyearday)
@@ -295,7 +295,7 @@ class rrule(rrulebase):
if byeaster is not None:
if not easter:
from dateutil import easter
- if type(byeaster) is int:
+ if isinstance(byeaster, int):
self._byeaster = (byeaster,)
else:
self._byeaster = tuple(byeaster)
@@ -305,7 +305,7 @@ class rrule(rrulebase):
if not bymonthday:
self._bymonthday = ()
self._bynmonthday = ()
- elif type(bymonthday) is int:
+ elif isinstance(bymonthday, int):
if bymonthday < 0:
self._bynmonthday = (bymonthday,)
self._bymonthday = ()
@@ -318,7 +318,7 @@ class rrule(rrulebase):
# byweekno
if byweekno is None:
self._byweekno = None
- elif type(byweekno) is int:
+ elif isinstance(byweekno, int):
self._byweekno = (byweekno,)
else:
self._byweekno = tuple(byweekno)
@@ -326,7 +326,7 @@ class rrule(rrulebase):
if byweekday is None:
self._byweekday = None
self._bynweekday = None
- elif type(byweekday) is int:
+ elif isinstance(byweekday, int):
self._byweekday = (byweekday,)
self._bynweekday = None
elif hasattr(byweekday, "n"):
@@ -340,7 +340,7 @@ class rrule(rrulebase):
self._byweekday = []
self._bynweekday = []
for wday in byweekday:
- if type(wday) is int:
+ if isinstance(wday, int):
self._byweekday.append(wday)
elif not wday.n or freq > MONTHLY:
self._byweekday.append(wday.weekday)
@@ -358,7 +358,7 @@ class rrule(rrulebase):
self._byhour = (dtstart.hour,)
else:
self._byhour = None
- elif type(byhour) is int:
+ elif isinstance(byhour, int):
self._byhour = (byhour,)
else:
self._byhour = tuple(byhour)
@@ -368,7 +368,7 @@ class rrule(rrulebase):
self._byminute = (dtstart.minute,)
else:
self._byminute = None
- elif type(byminute) is int:
+ elif isinstance(byminute, int):
self._byminute = (byminute,)
else:
self._byminute = tuple(byminute)
@@ -378,7 +378,7 @@ class rrule(rrulebase):
self._bysecond = (dtstart.second,)
else:
self._bysecond = None
- elif type(bysecond) is int:
+ elif isinstance(bysecond, int):
self._bysecond = (bysecond,)
else:
self._bysecond = tuple(bysecond)
@@ -716,7 +716,7 @@ class _iterinfo(object):
# days from last year's last week number in
# this year.
if -1 not in rr._byweekno:
- lyearweekday = datetime.date(year-1,1,1).weekday()
+ lyearweekday = datetime.date(year-1, 1, 1).weekday()
lno1wkst = (7-lyearweekday+rr._wkst)%7
lyearlen = 365+calendar.isleap(year-1)
if lno1wkst >= 4:
@@ -768,7 +768,7 @@ class _iterinfo(object):
self.lastmonth = month
def ydayset(self, year, month, day):
- return range(self.yearlen), 0, self.yearlen
+ return list(range(self.yearlen)), 0, self.yearlen
def mdayset(self, year, month, day):
set = [None]*self.yearlen
@@ -833,14 +833,20 @@ class rruleset(rrulebase):
self.genlist = genlist
self.gen = gen
- def next(self):
+ def __next__(self):
try:
self.dt = self.gen()
except StopIteration:
self.genlist.remove(self)
- def __cmp__(self, other):
- return cmp(self.dt, other.dt)
+ def __lt__(self, other):
+ return self.dt < other.dt
+
+ def __gt__(self, other):
+ return self.dt > other.dt
+
+ def __eq__(self, other):
+ return self.dt == other.dt
def __init__(self, cache=False):
rrulebase.__init__(self, cache)
@@ -864,14 +870,14 @@ class rruleset(rrulebase):
def _iter(self):
rlist = []
self._rdate.sort()
- self._genitem(rlist, iter(self._rdate).next)
- for gen in [iter(x).next for x in self._rrule]:
+ self._genitem(rlist, iter(self._rdate).__next__)
+ for gen in [iter(x).__next__ for x in self._rrule]:
self._genitem(rlist, gen)
rlist.sort()
exlist = []
self._exdate.sort()
- self._genitem(exlist, iter(self._exdate).next)
- for gen in [iter(x).next for x in self._exrule]:
+ self._genitem(exlist, iter(self._exdate).__next__)
+ for gen in [iter(x).__next__ for x in self._exrule]:
self._genitem(exlist, gen)
exlist.sort()
lastdt = None
@@ -880,13 +886,13 @@ class rruleset(rrulebase):
ritem = rlist[0]
if not lastdt or lastdt != ritem.dt:
while exlist and exlist[0] < ritem:
- exlist[0].next()
+ next(exlist[0])
exlist.sort()
if not exlist or ritem != exlist[0]:
total += 1
yield ritem.dt
lastdt = ritem.dt
- ritem.next()
+ next(ritem)
rlist.sort()
self._len = total
@@ -932,7 +938,7 @@ class _rrulestr:
ignoretz=kwargs.get("ignoretz"),
tzinfos=kwargs.get("tzinfos"))
except ValueError:
- raise ValueError, "invalid until date"
+ raise ValueError("invalid until date")
def _handle_WKST(self, rrkwargs, name, value, **kwargs):
rrkwargs["wkst"] = self._weekday_map[value]
@@ -959,7 +965,7 @@ class _rrulestr:
if line.find(':') != -1:
name, value = line.split(':')
if name != "RRULE":
- raise ValueError, "unknown parameter name"
+ raise ValueError("unknown parameter name")
else:
value = line
rrkwargs = {}
@@ -972,9 +978,9 @@ class _rrulestr:
ignoretz=ignoretz,
tzinfos=tzinfos)
except AttributeError:
- raise ValueError, "unknown parameter '%s'" % name
+ raise ValueError("unknown parameter '%s'" % name)
except (KeyError, ValueError):
- raise ValueError, "invalid '%s': %s" % (name, value)
+ raise ValueError("invalid '%s': %s" % (name, value))
return rrule(dtstart=dtstart, cache=cache, **rrkwargs)
def _parse_rfc(self, s,
@@ -991,7 +997,7 @@ class _rrulestr:
unfold = True
s = s.upper()
if not s.strip():
- raise ValueError, "empty string"
+ raise ValueError("empty string")
if unfold:
lines = s.splitlines()
i = 0
@@ -1026,36 +1032,36 @@ class _rrulestr:
name, value = line.split(':', 1)
parms = name.split(';')
if not parms:
- raise ValueError, "empty property name"
+ raise ValueError("empty property name")
name = parms[0]
parms = parms[1:]
if name == "RRULE":
for parm in parms:
- raise ValueError, "unsupported RRULE parm: "+parm
+ raise ValueError("unsupported RRULE parm: "+parm)
rrulevals.append(value)
elif name == "RDATE":
for parm in parms:
if parm != "VALUE=DATE-TIME":
- raise ValueError, "unsupported RDATE parm: "+parm
+ raise ValueError("unsupported RDATE parm: "+parm)
rdatevals.append(value)
elif name == "EXRULE":
for parm in parms:
- raise ValueError, "unsupported EXRULE parm: "+parm
+ raise ValueError("unsupported EXRULE parm: "+parm)
exrulevals.append(value)
elif name == "EXDATE":
for parm in parms:
if parm != "VALUE=DATE-TIME":
- raise ValueError, "unsupported RDATE parm: "+parm
+ raise ValueError("unsupported RDATE parm: "+parm)
exdatevals.append(value)
elif name == "DTSTART":
for parm in parms:
- raise ValueError, "unsupported DTSTART parm: "+parm
+ raise ValueError("unsupported DTSTART parm: "+parm)
if not parser:
from dateutil import parser
dtstart = parser.parse(value, ignoretz=ignoretz,
tzinfos=tzinfos)
else:
- raise ValueError, "unsupported property: "+name
+ raise ValueError("unsupported property: "+name)
if (forceset or len(rrulevals) > 1 or
rdatevals or exrulevals or exdatevals):
if not parser and (rdatevals or exdatevals):
diff --git a/dateutil/tz.py b/dateutil/tz.py
index 0e28d6b..29becc4 100644
--- a/dateutil/tz.py
+++ b/dateutil/tz.py
@@ -75,7 +75,7 @@ class tzoffset(datetime.tzinfo):
def __repr__(self):
return "%s(%s, %s)" % (self.__class__.__name__,
- `self._name`,
+ repr(self._name),
self._offset.days*86400+self._offset.seconds)
__reduce__ = object.__reduce__
@@ -161,7 +161,7 @@ class _ttinfo(object):
for attr in self.__slots__:
value = getattr(self, attr)
if value is not None:
- l.append("%s=%s" % (attr, `value`))
+ l.append("%s=%s" % (attr, repr(value)))
return "%s(%s)" % (self.__class__.__name__, ", ".join(l))
def __eq__(self, other):
@@ -194,13 +194,13 @@ class tzfile(datetime.tzinfo):
# ftp://elsie.nci.nih.gov/pub/tz*.tar.gz
def __init__(self, fileobj):
- if isinstance(fileobj, basestring):
+ if isinstance(fileobj, str):
self._filename = fileobj
fileobj = open(fileobj)
elif hasattr(fileobj, "name"):
self._filename = fileobj.name
else:
- self._filename = `fileobj`
+ self._filename = repr(fileobj)
# From tzfile(5):
#
@@ -212,8 +212,8 @@ class tzfile(datetime.tzinfo):
# ``standard'' byte order (the high-order byte
# of the value is written first).
- if fileobj.read(4) != "TZif":
- raise ValueError, "magic not found"
+ if fileobj.read(4).decode() != "TZif":
+ raise ValueError("magic not found")
fileobj.read(16)
@@ -284,7 +284,7 @@ class tzfile(datetime.tzinfo):
for i in range(typecnt):
ttinfo.append(struct.unpack(">lbb", fileobj.read(6)))
- abbr = fileobj.read(charcnt)
+ abbr = fileobj.read(charcnt).decode()
# Then there are tzh_leapcnt pairs of four-byte
# values, written in standard byte order; the
@@ -360,7 +360,7 @@ class tzfile(datetime.tzinfo):
if not self._trans_list:
self._ttinfo_std = self._ttinfo_first = self._ttinfo_list[0]
else:
- for i in range(timecnt-1,-1,-1):
+ for i in range(timecnt-1, -1, -1):
tti = self._trans_idx[i]
if not self._ttinfo_std and not tti.isdst:
self._ttinfo_std = tti
@@ -465,11 +465,11 @@ class tzfile(datetime.tzinfo):
def __repr__(self):
- return "%s(%s)" % (self.__class__.__name__, `self._filename`)
+ return "%s(%s)" % (self.__class__.__name__, repr(self._filename))
def __reduce__(self):
if not os.path.isfile(self._filename):
- raise ValueError, "Unpickable %s class" % self.__class__.__name__
+ raise ValueError("Unpickable %s class" % self.__class__.__name__)
return (self.__class__, (self._filename,))
class tzrange(datetime.tzinfo):
@@ -524,7 +524,7 @@ class tzrange(datetime.tzinfo):
def _isdst(self, dt):
if not self._start_delta:
return False
- year = datetime.datetime(dt.year,1,1)
+ year = datetime.datetime(dt.year, 1, 1)
start = year+self._start_delta
end = year+self._end_delta
dt = dt.replace(tzinfo=None)
@@ -561,7 +561,7 @@ class tzstr(tzrange):
res = parser._parsetz(s)
if res is None:
- raise ValueError, "unknown string format"
+ raise ValueError("unknown string format")
# Here we break the compatibility with the TZ variable handling.
# GMT-3 actually *means* the timezone -3.
@@ -624,7 +624,7 @@ class tzstr(tzrange):
return relativedelta.relativedelta(**kwargs)
def __repr__(self):
- return "%s(%s)" % (self.__class__.__name__, `self._s`)
+ return "%s(%s)" % (self.__class__.__name__, repr(self._s))
class _tzicalvtzcomp:
def __init__(self, tzoffsetfrom, tzoffsetto, isdst,
@@ -694,7 +694,7 @@ class _tzicalvtz(datetime.tzinfo):
return self._find_comp(dt).tzname
def __repr__(self):
- return "<tzicalvtz %s>" % `self._tzid`
+ return "<tzicalvtz %s>" % repr(self._tzid)
__reduce__ = object.__reduce__
@@ -704,37 +704,37 @@ class tzical:
if not rrule:
from dateutil import rrule
- if isinstance(fileobj, basestring):
+ if isinstance(fileobj, str):
self._s = fileobj
fileobj = open(fileobj)
elif hasattr(fileobj, "name"):
self._s = fileobj.name
else:
- self._s = `fileobj`
+ self._s = repr(fileobj)
self._vtz = {}
self._parse_rfc(fileobj.read())
def keys(self):
- return self._vtz.keys()
+ return list(self._vtz.keys())
def get(self, tzid=None):
if tzid is None:
- keys = self._vtz.keys()
+ keys = list(self._vtz.keys())
if len(keys) == 0:
- raise ValueError, "no timezones defined"
+ raise ValueError("no timezones defined")
elif len(keys) > 1:
- raise ValueError, "more than one timezone available"
+ raise ValueError("more than one timezone available")
tzid = keys[0]
return self._vtz.get(tzid)
def _parse_offset(self, s):
s = s.strip()
if not s:
- raise ValueError, "empty offset"
+ raise ValueError("empty offset")
if s[0] in ('+', '-'):
- signal = (-1,+1)[s[0]=='+']
+ signal = (-1, +1)[s[0]=='+']
s = s[1:]
else:
signal = +1
@@ -743,12 +743,12 @@ class tzical:
elif len(s) == 6:
return (int(s[:2])*3600+int(s[2:4])*60+int(s[4:]))*signal
else:
- raise ValueError, "invalid offset: "+s
+ raise ValueError("invalid offset: "+s)
def _parse_rfc(self, s):
lines = s.splitlines()
if not lines:
- raise ValueError, "empty string"
+ raise ValueError("empty string")
# Unfold
i = 0
@@ -772,7 +772,7 @@ class tzical:
name, value = line.split(':', 1)
parms = name.split(';')
if not parms:
- raise ValueError, "empty property name"
+ raise ValueError("empty property name")
name = parms[0].upper()
parms = parms[1:]
if invtz:
@@ -781,7 +781,7 @@ class tzical:
# Process component
pass
else:
- raise ValueError, "unknown component: "+value
+ raise ValueError("unknown component: "+value)
comptype = value
founddtstart = False
tzoffsetfrom = None
@@ -791,27 +791,21 @@ class tzical:
elif name == "END":
if value == "VTIMEZONE":
if comptype:
- raise ValueError, \
- "component not closed: "+comptype
+ raise ValueError("component not closed: "+comptype)
if not tzid:
- raise ValueError, \
- "mandatory TZID not found"
+ raise ValueError("mandatory TZID not found")
if not comps:
- raise ValueError, \
- "at least one component is needed"
+ raise ValueError("at least one component is needed")
# Process vtimezone
self._vtz[tzid] = _tzicalvtz(tzid, comps)
invtz = False
elif value == comptype:
if not founddtstart:
- raise ValueError, \
- "mandatory DTSTART not found"
+ raise ValueError("mandatory DTSTART not found")
if tzoffsetfrom is None:
- raise ValueError, \
- "mandatory TZOFFSETFROM not found"
+ raise ValueError("mandatory TZOFFSETFROM not found")
if tzoffsetto is None:
- raise ValueError, \
- "mandatory TZOFFSETFROM not found"
+ raise ValueError("mandatory TZOFFSETFROM not found")
# Process component
rr = None
if rrulelines:
@@ -825,8 +819,7 @@ class tzical:
comps.append(comp)
comptype = None
else:
- raise ValueError, \
- "invalid component end: "+value
+ raise ValueError("invalid component end: "+value)
elif comptype:
if name == "DTSTART":
rrulelines.append(line)
@@ -835,40 +828,36 @@ class tzical:
rrulelines.append(line)
elif name == "TZOFFSETFROM":
if parms:
- raise ValueError, \
- "unsupported %s parm: %s "%(name, parms[0])
+ raise ValueError("unsupported %s parm: %s "%(name, parms[0]))
tzoffsetfrom = self._parse_offset(value)
elif name == "TZOFFSETTO":
if parms:
- raise ValueError, \
- "unsupported TZOFFSETTO parm: "+parms[0]
+ raise ValueError("unsupported TZOFFSETTO parm: "+parms[0])
tzoffsetto = self._parse_offset(value)
elif name == "TZNAME":
if parms:
- raise ValueError, \
- "unsupported TZNAME parm: "+parms[0]
+ raise ValueError("unsupported TZNAME parm: "+parms[0])
tzname = value
elif name == "COMMENT":
pass
else:
- raise ValueError, "unsupported property: "+name
+ raise ValueError("unsupported property: "+name)
else:
if name == "TZID":
if parms:
- raise ValueError, \
- "unsupported TZID parm: "+parms[0]
+ raise ValueError("unsupported TZID parm: "+parms[0])
tzid = value
elif name in ("TZURL", "LAST-MODIFIED", "COMMENT"):
pass
else:
- raise ValueError, "unsupported property: "+name
+ raise ValueError("unsupported property: "+name)
elif name == "BEGIN" and value == "VTIMEZONE":
tzid = None
comps = []
invtz = True
def __repr__(self):
- return "%s(%s)" % (self.__class__.__name__, `self._s`)
+ return "%s(%s)" % (self.__class__.__name__, repr(self._s))
if sys.platform != "win32":
TZFILES = ["/etc/localtime", "localtime"]
@@ -914,7 +903,7 @@ def gettz(name=None):
for path in TZPATHS:
filepath = os.path.join(path, name)
if not os.path.isfile(filepath):
- filepath = filepath.replace(' ','_')
+ filepath = filepath.replace(' ', '_')
if not os.path.isfile(filepath):
continue
try:
diff --git a/dateutil/tzwin.py b/dateutil/tzwin.py
index 073e0ff..b378f59 100644
--- a/dateutil/tzwin.py
+++ b/dateutil/tzwin.py
@@ -1,7 +1,7 @@
# This code was originally contributed by Jeffrey Harris.
import datetime
import struct
-import _winreg
+import winreg
__author__ = "Jeffrey Harris & Gustavo Niemeyer <gustavo@niemeyer.net>"
@@ -15,9 +15,9 @@ TZLOCALKEYNAME = r"SYSTEM\CurrentControlSet\Control\TimeZoneInformation"
def _settzkeyname():
global TZKEYNAME
- handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
+ handle = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
try:
- _winreg.OpenKey(handle, TZKEYNAMENT).Close()
+ winreg.OpenKey(handle, TZKEYNAMENT).Close()
TZKEYNAME = TZKEYNAMENT
except WindowsError:
TZKEYNAME = TZKEYNAME9X
@@ -49,10 +49,10 @@ class tzwinbase(datetime.tzinfo):
def list():
"""Return a list of all time zones known to the system."""
- handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
- tzkey = _winreg.OpenKey(handle, TZKEYNAME)
- result = [_winreg.EnumKey(tzkey, i)
- for i in range(_winreg.QueryInfoKey(tzkey)[0])]
+ handle = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
+ tzkey = winreg.OpenKey(handle, TZKEYNAME)
+ result = [winreg.EnumKey(tzkey, i)
+ for i in range(winreg.QueryInfoKey(tzkey)[0])]
tzkey.Close()
handle.Close()
return result
@@ -79,8 +79,8 @@ class tzwin(tzwinbase):
def __init__(self, name):
self._name = name
- handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
- tzkey = _winreg.OpenKey(handle, "%s\%s" % (TZKEYNAME, name))
+ handle = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
+ tzkey = winreg.OpenKey(handle, "%s\%s" % (TZKEYNAME, name))
keydict = valuestodict(tzkey)
tzkey.Close()
handle.Close()
@@ -118,9 +118,9 @@ class tzwinlocal(tzwinbase):
def __init__(self):
- handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
+ handle = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
- tzlocalkey = _winreg.OpenKey(handle, TZLOCALKEYNAME)
+ tzlocalkey = winreg.OpenKey(handle, TZLOCALKEYNAME)
keydict = valuestodict(tzlocalkey)
tzlocalkey.Close()
@@ -128,7 +128,7 @@ class tzwinlocal(tzwinbase):
self._dstname = keydict["DaylightName"].encode("iso-8859-1")
try:
- tzkey = _winreg.OpenKey(handle, "%s\%s"%(TZKEYNAME, self._stdname))
+ tzkey = winreg.OpenKey(handle, "%s\%s"%(TZKEYNAME, self._stdname))
_keydict = valuestodict(tzkey)
self._display = _keydict["Display"]
tzkey.Close()
@@ -165,7 +165,7 @@ def picknthweekday(year, month, dayofweek, hour, minute, whichweek):
"""dayofweek == 0 means Sunday, whichweek 5 means last instance"""
first = datetime.datetime(year, month, 1, hour, minute)
weekdayone = first.replace(day=((dayofweek-first.isoweekday())%7+1))
- for n in xrange(whichweek):
+ for n in range(whichweek):
dt = weekdayone+(whichweek-n)*ONEWEEK
if dt.month == month:
return dt
@@ -173,8 +173,8 @@ def picknthweekday(year, month, dayofweek, hour, minute, whichweek):
def valuestodict(key):
"""Convert a registry key's values to a dictionary."""
dict = {}
- size = _winreg.QueryInfoKey(key)[1]
+ size = winreg.QueryInfoKey(key)[1]
for i in range(size):
- data = _winreg.EnumValue(key, i)
+ data = winreg.EnumValue(key, i)
dict[data[0]] = data[1]
return dict
diff --git a/dateutil/zoneinfo/__init__.py b/dateutil/zoneinfo/__init__.py
index 9bed626..e7709bb 100644
--- a/dateutil/zoneinfo/__init__.py
+++ b/dateutil/zoneinfo/__init__.py
@@ -21,8 +21,7 @@ class tzfile(tzfile):
return (gettz, (self._filename,))
def getzoneinfofile():
- filenames = os.listdir(os.path.join(os.path.dirname(__file__)))
- filenames.sort()
+ filenames = sorted(os.listdir(os.path.join(os.path.dirname(__file__))))
filenames.reverse()
for entry in filenames:
if entry.startswith("zoneinfo") and ".tar." in entry:
diff --git a/example.py b/example.py
index f5a8e6f..ffa78e7 100644
--- a/example.py
+++ b/example.py
@@ -3,13 +3,13 @@ from dateutil.easter import *
from dateutil.rrule import *
from dateutil.parser import *
from datetime import *
-import commands
+import subprocess
import os
-now = parse(commands.getoutput("date"))
+now = parse(subprocess.getoutput("date"))
today = now.date()
-year = rrule(YEARLY,bymonth=8,bymonthday=13,byweekday=FR)[0].year
+year = rrule(YEARLY, bymonth=8, bymonthday=13, byweekday=FR)[0].year
rdelta = relativedelta(easter(year), today)
-print "Today is:", today
-print "Year with next Aug 13th on a Friday is:", year
-print "How far is the Easter of that year:", rdelta
-print "And the Easter of that year is:", today+rdelta
+print("Today is:", today)
+print("Year with next Aug 13th on a Friday is:", year)
+print("How far is the Easter of that year:", rdelta)
+print("And the Easter of that year is:", today+rdelta)
diff --git a/sandbox/scheduler.py b/sandbox/scheduler.py
index c998600..6216fe6 100644
--- a/sandbox/scheduler.py
+++ b/sandbox/scheduler.py
@@ -8,7 +8,7 @@ __author__ = "Gustavo Niemeyer <gustavo@niemeyer.net>"
__license__ = "PSF License"
import datetime
-import thread
+import _thread
import signal
import time
@@ -88,7 +88,7 @@ class schedthread:
def run(self):
self._running = True
- thread.start_new_thread(self._loop, ())
+ _thread.start_new_thread(self._loop, ())
def stop(self):
self._running = False
diff --git a/setup.py b/setup.py
index 654ab46..7fabde7 100644
--- a/setup.py
+++ b/setup.py
@@ -25,8 +25,8 @@ setup(name="python-dateutil",
license = "PSF License",
long_description =
"""\
-The dateutil module provides powerful extensions to the standard
-datetime module, available in Python 2.3+.
+The dateutil module provides powerful extensions to the
+datetime module available in the Python standard library.
""",
packages = ["dateutil", "dateutil.zoneinfo"],
package_data={"": ["*.tar.gz"]},
diff --git a/test.py b/test.py
index 049fede..2057626 100644
--- a/test.py
+++ b/test.py
@@ -1,6 +1,6 @@
#!/usr/bin/python
# -*- encoding: utf-8 -*-
-from cStringIO import StringIO
+from io import StringIO,BytesIO
import unittest
import calendar
import time
@@ -13,7 +13,7 @@ if os.path.exists("build"):
import sys
s = "build/lib.%s-%.3s" % (get_platform(), sys.version)
s = os.path.join(os.getcwd(), s)
- sys.path.insert(0,s)
+ sys.path.insert(0, s)
from dateutil.relativedelta import *
from dateutil.parser import *
@@ -103,7 +103,7 @@ class RelativeDeltaTest(unittest.TestCase):
date(2003, 4, 7))
def testMillenniumAge(self):
- self.assertEqual(relativedelta(self.now, date(2001,1,1)),
+ self.assertEqual(relativedelta(self.now, date(2001, 1, 1)),
relativedelta(years=+2, months=+8, days=+16,
hours=+20, minutes=+54, seconds=+47,
microseconds=+282310))
@@ -177,7 +177,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonth(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonth=(1,3),
+ bymonth=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 2, 9, 0),
datetime(1998, 3, 2, 9, 0),
@@ -186,7 +186,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonthday=(1,3),
+ bymonthday=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 3, 9, 0),
datetime(1997, 10, 1, 9, 0),
@@ -195,8 +195,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthAndMonthDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonth=(1,3),
- bymonthday=(5,7),
+ bymonth=(1, 3),
+ bymonthday=(5, 7),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 5, 9, 0),
datetime(1998, 1, 7, 9, 0),
@@ -205,7 +205,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByWeekDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byweekday=(TU,TH),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 4, 9, 0),
@@ -214,7 +214,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByNWeekDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byweekday=(TU(1),TH(-1)),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 25, 9, 0),
datetime(1998, 1, 6, 9, 0),
@@ -223,7 +223,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByNWeekDayLarge(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byweekday=(TU(3),TH(-3)),
+ byweekday=(TU(3), TH(-3)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 11, 9, 0),
datetime(1998, 1, 20, 9, 0),
@@ -232,8 +232,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthAndWeekDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 1, 6, 9, 0),
@@ -242,8 +242,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthAndNWeekDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(1),TH(-1)),
+ bymonth=(1, 3),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 6, 9, 0),
datetime(1998, 1, 29, 9, 0),
@@ -254,8 +254,8 @@ class RRuleTest(unittest.TestCase):
# the TU(3).
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(3),TH(-3)),
+ bymonth=(1, 3),
+ byweekday=(TU(3), TH(-3)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 15, 9, 0),
datetime(1998, 1, 20, 9, 0),
@@ -264,8 +264,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 2, 3, 9, 0),
@@ -274,9 +274,9 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthAndMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bymonth=(1,3),
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 3, 3, 9, 0),
@@ -285,7 +285,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByYearDay(self):
self.assertEqual(list(rrule(YEARLY,
count=4,
- byyearday=(1,100,200,365),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -295,7 +295,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByYearDayNeg(self):
self.assertEqual(list(rrule(YEARLY,
count=4,
- byyearday=(-365,-266,-166,-1),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -305,8 +305,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthAndYearDay(self):
self.assertEqual(list(rrule(YEARLY,
count=4,
- bymonth=(4,7),
- byyearday=(1,100,200,365),
+ bymonth=(4, 7),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -316,8 +316,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMonthAndYearDayNeg(self):
self.assertEqual(list(rrule(YEARLY,
count=4,
- bymonth=(4,7),
- byyearday=(-365,-266,-166,-1),
+ bymonth=(4, 7),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -417,7 +417,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByHour(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byhour=(6,18),
+ byhour=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0),
datetime(1998, 9, 2, 6, 0),
@@ -426,7 +426,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMinute(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byminute=(6,18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6),
datetime(1997, 9, 2, 9, 18),
@@ -435,7 +435,7 @@ class RRuleTest(unittest.TestCase):
def testYearlyBySecond(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- bysecond=(6,18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 6),
datetime(1997, 9, 2, 9, 0, 18),
@@ -444,8 +444,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByHourAndMinute(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6),
datetime(1997, 9, 2, 18, 18),
@@ -454,8 +454,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByHourAndSecond(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byhour=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 6),
datetime(1997, 9, 2, 18, 0, 18),
@@ -464,8 +464,8 @@ class RRuleTest(unittest.TestCase):
def testYearlyByMinuteAndSecond(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byminute=(6,18),
- bysecond=(6,18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 6),
datetime(1997, 9, 2, 9, 6, 18),
@@ -474,9 +474,9 @@ class RRuleTest(unittest.TestCase):
def testYearlyByHourAndMinuteAndSecond(self):
self.assertEqual(list(rrule(YEARLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 6),
datetime(1997, 9, 2, 18, 6, 18),
@@ -486,8 +486,8 @@ class RRuleTest(unittest.TestCase):
self.assertEqual(list(rrule(YEARLY,
count=3,
bymonthday=15,
- byhour=(6,18),
- bysetpos=(3,-3),
+ byhour=(6, 18),
+ bysetpos=(3, -3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 11, 15, 18, 0),
datetime(1998, 2, 15, 6, 0),
@@ -522,7 +522,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonth(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonth=(1,3),
+ bymonth=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 2, 9, 0),
datetime(1998, 3, 2, 9, 0),
@@ -532,7 +532,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonthday=(1,3),
+ bymonthday=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 3, 9, 0),
datetime(1997, 10, 1, 9, 0),
@@ -541,8 +541,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthAndMonthDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonth=(1,3),
- bymonthday=(5,7),
+ bymonth=(1, 3),
+ bymonthday=(5, 7),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 5, 9, 0),
datetime(1998, 1, 7, 9, 0),
@@ -551,7 +551,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByWeekDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byweekday=(TU,TH),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 4, 9, 0),
@@ -560,7 +560,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByNWeekDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byweekday=(TU(1),TH(-1)),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 25, 9, 0),
@@ -569,7 +569,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByNWeekDayLarge(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byweekday=(TU(3),TH(-3)),
+ byweekday=(TU(3), TH(-3)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 11, 9, 0),
datetime(1997, 9, 16, 9, 0),
@@ -578,8 +578,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthAndWeekDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 1, 6, 9, 0),
@@ -588,8 +588,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthAndNWeekDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(1),TH(-1)),
+ bymonth=(1, 3),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 6, 9, 0),
datetime(1998, 1, 29, 9, 0),
@@ -598,8 +598,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthAndNWeekDayLarge(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(3),TH(-3)),
+ bymonth=(1, 3),
+ byweekday=(TU(3), TH(-3)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 15, 9, 0),
datetime(1998, 1, 20, 9, 0),
@@ -608,8 +608,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 2, 3, 9, 0),
@@ -618,9 +618,9 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthAndMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonth=(1,3),
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 3, 3, 9, 0),
@@ -629,7 +629,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByYearDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=4,
- byyearday=(1,100,200,365),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -639,7 +639,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByYearDayNeg(self):
self.assertEqual(list(rrule(MONTHLY,
count=4,
- byyearday=(-365,-266,-166,-1),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -649,8 +649,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthAndYearDay(self):
self.assertEqual(list(rrule(MONTHLY,
count=4,
- bymonth=(4,7),
- byyearday=(1,100,200,365),
+ bymonth=(4, 7),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -660,8 +660,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMonthAndYearDayNeg(self):
self.assertEqual(list(rrule(MONTHLY,
count=4,
- bymonth=(4,7),
- byyearday=(-365,-266,-166,-1),
+ bymonth=(4, 7),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -752,7 +752,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByHour(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byhour=(6,18),
+ byhour=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0),
datetime(1997, 10, 2, 6, 0),
@@ -761,7 +761,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMinute(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byminute=(6,18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6),
datetime(1997, 9, 2, 9, 18),
@@ -770,7 +770,7 @@ class RRuleTest(unittest.TestCase):
def testMonthlyBySecond(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bysecond=(6,18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 6),
datetime(1997, 9, 2, 9, 0, 18),
@@ -779,8 +779,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByHourAndMinute(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6),
datetime(1997, 9, 2, 18, 18),
@@ -789,8 +789,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByHourAndSecond(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byhour=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 6),
datetime(1997, 9, 2, 18, 0, 18),
@@ -799,8 +799,8 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByMinuteAndSecond(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byminute=(6,18),
- bysecond=(6,18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 6),
datetime(1997, 9, 2, 9, 6, 18),
@@ -809,9 +809,9 @@ class RRuleTest(unittest.TestCase):
def testMonthlyByHourAndMinuteAndSecond(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 6),
datetime(1997, 9, 2, 18, 6, 18),
@@ -820,9 +820,9 @@ class RRuleTest(unittest.TestCase):
def testMonthlyBySetPos(self):
self.assertEqual(list(rrule(MONTHLY,
count=3,
- bymonthday=(13,17),
- byhour=(6,18),
- bysetpos=(3,-3),
+ bymonthday=(13, 17),
+ byhour=(6, 18),
+ bysetpos=(3, -3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 13, 18, 0),
datetime(1997, 9, 17, 6, 0),
@@ -857,7 +857,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonth(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bymonth=(1,3),
+ bymonth=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 6, 9, 0),
datetime(1998, 1, 13, 9, 0),
@@ -866,7 +866,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonthDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bymonthday=(1,3),
+ bymonthday=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 3, 9, 0),
datetime(1997, 10, 1, 9, 0),
@@ -875,8 +875,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonthAndMonthDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bymonth=(1,3),
- bymonthday=(5,7),
+ bymonth=(1, 3),
+ bymonthday=(5, 7),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 5, 9, 0),
datetime(1998, 1, 7, 9, 0),
@@ -885,7 +885,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByWeekDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byweekday=(TU,TH),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 4, 9, 0),
@@ -894,7 +894,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByNWeekDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byweekday=(TU(1),TH(-1)),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 4, 9, 0),
@@ -906,8 +906,8 @@ class RRuleTest(unittest.TestCase):
# valid recurrence.
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 1, 6, 9, 0),
@@ -916,8 +916,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonthAndNWeekDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(1),TH(-1)),
+ bymonth=(1, 3),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 1, 6, 9, 0),
@@ -926,8 +926,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 2, 3, 9, 0),
@@ -936,9 +936,9 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonthAndMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bymonth=(1,3),
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 3, 3, 9, 0),
@@ -947,7 +947,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByYearDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=4,
- byyearday=(1,100,200,365),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -957,7 +957,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByYearDayNeg(self):
self.assertEqual(list(rrule(WEEKLY,
count=4,
- byyearday=(-365,-266,-166,-1),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -967,8 +967,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonthAndYearDay(self):
self.assertEqual(list(rrule(WEEKLY,
count=4,
- bymonth=(1,7),
- byyearday=(1,100,200,365),
+ bymonth=(1, 7),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -978,8 +978,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMonthAndYearDayNeg(self):
self.assertEqual(list(rrule(WEEKLY,
count=4,
- bymonth=(1,7),
- byyearday=(-365,-266,-166,-1),
+ bymonth=(1, 7),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -1069,7 +1069,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByHour(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byhour=(6,18),
+ byhour=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0),
datetime(1997, 9, 9, 6, 0),
@@ -1078,7 +1078,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMinute(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byminute=(6,18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6),
datetime(1997, 9, 2, 9, 18),
@@ -1087,7 +1087,7 @@ class RRuleTest(unittest.TestCase):
def testWeeklyBySecond(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- bysecond=(6,18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 6),
datetime(1997, 9, 2, 9, 0, 18),
@@ -1096,8 +1096,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByHourAndMinute(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6),
datetime(1997, 9, 2, 18, 18),
@@ -1106,8 +1106,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByHourAndSecond(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byhour=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 6),
datetime(1997, 9, 2, 18, 0, 18),
@@ -1116,8 +1116,8 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByMinuteAndSecond(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byminute=(6,18),
- bysecond=(6,18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 6),
datetime(1997, 9, 2, 9, 6, 18),
@@ -1126,9 +1126,9 @@ class RRuleTest(unittest.TestCase):
def testWeeklyByHourAndMinuteAndSecond(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 6),
datetime(1997, 9, 2, 18, 6, 18),
@@ -1137,9 +1137,9 @@ class RRuleTest(unittest.TestCase):
def testWeeklyBySetPos(self):
self.assertEqual(list(rrule(WEEKLY,
count=3,
- byweekday=(TU,TH),
- byhour=(6,18),
- bysetpos=(3,-3),
+ byweekday=(TU, TH),
+ byhour=(6, 18),
+ bysetpos=(3, -3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0),
datetime(1997, 9, 4, 6, 0),
@@ -1174,7 +1174,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonth(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bymonth=(1,3),
+ bymonth=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 1, 2, 9, 0),
@@ -1183,7 +1183,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bymonthday=(1,3),
+ bymonthday=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 3, 9, 0),
datetime(1997, 10, 1, 9, 0),
@@ -1192,8 +1192,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthAndMonthDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bymonth=(1,3),
- bymonthday=(5,7),
+ bymonth=(1, 3),
+ bymonthday=(5, 7),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 5, 9, 0),
datetime(1998, 1, 7, 9, 0),
@@ -1202,7 +1202,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByWeekDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byweekday=(TU,TH),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 4, 9, 0),
@@ -1211,7 +1211,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByNWeekDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byweekday=(TU(1),TH(-1)),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 4, 9, 0),
@@ -1220,8 +1220,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthAndWeekDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bymonth=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 1, 6, 9, 0),
@@ -1230,8 +1230,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthAndNWeekDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(1),TH(-1)),
+ bymonth=(1, 3),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 1, 6, 9, 0),
@@ -1240,8 +1240,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 2, 3, 9, 0),
@@ -1250,9 +1250,9 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthAndMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bymonth=(1,3),
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 3, 3, 9, 0),
@@ -1261,7 +1261,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByYearDay(self):
self.assertEqual(list(rrule(DAILY,
count=4,
- byyearday=(1,100,200,365),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -1271,7 +1271,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByYearDayNeg(self):
self.assertEqual(list(rrule(DAILY,
count=4,
- byyearday=(-365,-266,-166,-1),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 9, 0),
datetime(1998, 1, 1, 9, 0),
@@ -1281,8 +1281,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthAndYearDay(self):
self.assertEqual(list(rrule(DAILY,
count=4,
- bymonth=(1,7),
- byyearday=(1,100,200,365),
+ bymonth=(1, 7),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -1292,8 +1292,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByMonthAndYearDayNeg(self):
self.assertEqual(list(rrule(DAILY,
count=4,
- bymonth=(1,7),
- byyearday=(-365,-266,-166,-1),
+ bymonth=(1, 7),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 9, 0),
datetime(1998, 7, 19, 9, 0),
@@ -1383,7 +1383,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByHour(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byhour=(6,18),
+ byhour=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0),
datetime(1997, 9, 3, 6, 0),
@@ -1392,7 +1392,7 @@ class RRuleTest(unittest.TestCase):
def testDailyByMinute(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byminute=(6,18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6),
datetime(1997, 9, 2, 9, 18),
@@ -1401,7 +1401,7 @@ class RRuleTest(unittest.TestCase):
def testDailyBySecond(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- bysecond=(6,18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 6),
datetime(1997, 9, 2, 9, 0, 18),
@@ -1410,8 +1410,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByHourAndMinute(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6),
datetime(1997, 9, 2, 18, 18),
@@ -1420,8 +1420,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByHourAndSecond(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byhour=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 6),
datetime(1997, 9, 2, 18, 0, 18),
@@ -1430,8 +1430,8 @@ class RRuleTest(unittest.TestCase):
def testDailyByMinuteAndSecond(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byminute=(6,18),
- bysecond=(6,18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 6),
datetime(1997, 9, 2, 9, 6, 18),
@@ -1440,9 +1440,9 @@ class RRuleTest(unittest.TestCase):
def testDailyByHourAndMinuteAndSecond(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 6),
datetime(1997, 9, 2, 18, 6, 18),
@@ -1451,9 +1451,9 @@ class RRuleTest(unittest.TestCase):
def testDailyBySetPos(self):
self.assertEqual(list(rrule(DAILY,
count=3,
- byhour=(6,18),
- byminute=(15,45),
- bysetpos=(3,-3),
+ byhour=(6, 18),
+ byminute=(15, 45),
+ bysetpos=(3, -3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 15),
datetime(1997, 9, 3, 6, 45),
@@ -1488,7 +1488,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonth(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bymonth=(1,3),
+ bymonth=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 1, 0),
@@ -1497,7 +1497,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bymonthday=(1,3),
+ bymonthday=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 3, 0, 0),
datetime(1997, 9, 3, 1, 0),
@@ -1506,8 +1506,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthAndMonthDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bymonth=(1,3),
- bymonthday=(5,7),
+ bymonth=(1, 3),
+ bymonthday=(5, 7),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 5, 0, 0),
datetime(1998, 1, 5, 1, 0),
@@ -1516,7 +1516,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByWeekDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byweekday=(TU,TH),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 2, 10, 0),
@@ -1525,7 +1525,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByNWeekDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byweekday=(TU(1),TH(-1)),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 2, 10, 0),
@@ -1534,8 +1534,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthAndWeekDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 1, 0),
@@ -1544,8 +1544,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthAndNWeekDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(1),TH(-1)),
+ bymonth=(1, 3),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 1, 0),
@@ -1554,8 +1554,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 1, 0),
@@ -1564,9 +1564,9 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthAndMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bymonth=(1,3),
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 1, 0),
@@ -1575,7 +1575,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByYearDay(self):
self.assertEqual(list(rrule(HOURLY,
count=4,
- byyearday=(1,100,200,365),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 0, 0),
datetime(1997, 12, 31, 1, 0),
@@ -1585,7 +1585,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByYearDayNeg(self):
self.assertEqual(list(rrule(HOURLY,
count=4,
- byyearday=(-365,-266,-166,-1),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 0, 0),
datetime(1997, 12, 31, 1, 0),
@@ -1595,8 +1595,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthAndYearDay(self):
self.assertEqual(list(rrule(HOURLY,
count=4,
- bymonth=(4,7),
- byyearday=(1,100,200,365),
+ bymonth=(4, 7),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 0, 0),
datetime(1998, 4, 10, 1, 0),
@@ -1606,8 +1606,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMonthAndYearDayNeg(self):
self.assertEqual(list(rrule(HOURLY,
count=4,
- bymonth=(4,7),
- byyearday=(-365,-266,-166,-1),
+ bymonth=(4, 7),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 0, 0),
datetime(1998, 4, 10, 1, 0),
@@ -1693,7 +1693,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByHour(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byhour=(6,18),
+ byhour=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0),
datetime(1997, 9, 3, 6, 0),
@@ -1702,7 +1702,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMinute(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byminute=(6,18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6),
datetime(1997, 9, 2, 9, 18),
@@ -1711,7 +1711,7 @@ class RRuleTest(unittest.TestCase):
def testHourlyBySecond(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- bysecond=(6,18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 6),
datetime(1997, 9, 2, 9, 0, 18),
@@ -1720,8 +1720,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByHourAndMinute(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6),
datetime(1997, 9, 2, 18, 18),
@@ -1730,8 +1730,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByHourAndSecond(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byhour=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 6),
datetime(1997, 9, 2, 18, 0, 18),
@@ -1740,8 +1740,8 @@ class RRuleTest(unittest.TestCase):
def testHourlyByMinuteAndSecond(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byminute=(6,18),
- bysecond=(6,18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 6),
datetime(1997, 9, 2, 9, 6, 18),
@@ -1750,9 +1750,9 @@ class RRuleTest(unittest.TestCase):
def testHourlyByHourAndMinuteAndSecond(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 6),
datetime(1997, 9, 2, 18, 6, 18),
@@ -1761,9 +1761,9 @@ class RRuleTest(unittest.TestCase):
def testHourlyBySetPos(self):
self.assertEqual(list(rrule(HOURLY,
count=3,
- byminute=(15,45),
- bysecond=(15,45),
- bysetpos=(3,-3),
+ byminute=(15, 45),
+ bysecond=(15, 45),
+ bysetpos=(3, -3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 15, 45),
datetime(1997, 9, 2, 9, 45, 15),
@@ -1798,7 +1798,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonth(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bymonth=(1,3),
+ bymonth=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 0, 1),
@@ -1807,7 +1807,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bymonthday=(1,3),
+ bymonthday=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 3, 0, 0),
datetime(1997, 9, 3, 0, 1),
@@ -1816,8 +1816,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthAndMonthDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bymonth=(1,3),
- bymonthday=(5,7),
+ bymonth=(1, 3),
+ bymonthday=(5, 7),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 5, 0, 0),
datetime(1998, 1, 5, 0, 1),
@@ -1826,7 +1826,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByWeekDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byweekday=(TU,TH),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 2, 9, 1),
@@ -1835,7 +1835,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByNWeekDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byweekday=(TU(1),TH(-1)),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
datetime(1997, 9, 2, 9, 1),
@@ -1844,8 +1844,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthAndWeekDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bymonth=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 0, 1),
@@ -1854,8 +1854,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthAndNWeekDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(1),TH(-1)),
+ bymonth=(1, 3),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 0, 1),
@@ -1864,8 +1864,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 0, 1),
@@ -1874,9 +1874,9 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthAndMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bymonth=(1,3),
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0),
datetime(1998, 1, 1, 0, 1),
@@ -1885,7 +1885,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByYearDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=4,
- byyearday=(1,100,200,365),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 0, 0),
datetime(1997, 12, 31, 0, 1),
@@ -1895,7 +1895,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByYearDayNeg(self):
self.assertEqual(list(rrule(MINUTELY,
count=4,
- byyearday=(-365,-266,-166,-1),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 0, 0),
datetime(1997, 12, 31, 0, 1),
@@ -1905,8 +1905,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthAndYearDay(self):
self.assertEqual(list(rrule(MINUTELY,
count=4,
- bymonth=(4,7),
- byyearday=(1,100,200,365),
+ bymonth=(4, 7),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 0, 0),
datetime(1998, 4, 10, 0, 1),
@@ -1916,8 +1916,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMonthAndYearDayNeg(self):
self.assertEqual(list(rrule(MINUTELY,
count=4,
- bymonth=(4,7),
- byyearday=(-365,-266,-166,-1),
+ bymonth=(4, 7),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 0, 0),
datetime(1998, 4, 10, 0, 1),
@@ -2003,7 +2003,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByHour(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byhour=(6,18),
+ byhour=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0),
datetime(1997, 9, 2, 18, 1),
@@ -2012,7 +2012,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMinute(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byminute=(6,18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6),
datetime(1997, 9, 2, 9, 18),
@@ -2021,7 +2021,7 @@ class RRuleTest(unittest.TestCase):
def testMinutelyBySecond(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bysecond=(6,18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 6),
datetime(1997, 9, 2, 9, 0, 18),
@@ -2030,8 +2030,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByHourAndMinute(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6),
datetime(1997, 9, 2, 18, 18),
@@ -2040,8 +2040,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByHourAndSecond(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byhour=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 6),
datetime(1997, 9, 2, 18, 0, 18),
@@ -2050,8 +2050,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByMinuteAndSecond(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byminute=(6,18),
- bysecond=(6,18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 6),
datetime(1997, 9, 2, 9, 6, 18),
@@ -2060,9 +2060,9 @@ class RRuleTest(unittest.TestCase):
def testMinutelyByHourAndMinuteAndSecond(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 6),
datetime(1997, 9, 2, 18, 6, 18),
@@ -2071,8 +2071,8 @@ class RRuleTest(unittest.TestCase):
def testMinutelyBySetPos(self):
self.assertEqual(list(rrule(MINUTELY,
count=3,
- bysecond=(15,30,45),
- bysetpos=(3,-3),
+ bysecond=(15, 30, 45),
+ bysetpos=(3, -3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 15),
datetime(1997, 9, 2, 9, 0, 45),
@@ -2107,7 +2107,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonth(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bymonth=(1,3),
+ bymonth=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0, 0),
datetime(1998, 1, 1, 0, 0, 1),
@@ -2116,7 +2116,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bymonthday=(1,3),
+ bymonthday=(1, 3),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 3, 0, 0, 0),
datetime(1997, 9, 3, 0, 0, 1),
@@ -2125,8 +2125,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthAndMonthDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bymonth=(1,3),
- bymonthday=(5,7),
+ bymonth=(1, 3),
+ bymonthday=(5, 7),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 5, 0, 0, 0),
datetime(1998, 1, 5, 0, 0, 1),
@@ -2135,7 +2135,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByWeekDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byweekday=(TU,TH),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 0),
datetime(1997, 9, 2, 9, 0, 1),
@@ -2144,7 +2144,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByNWeekDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byweekday=(TU(1),TH(-1)),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 0),
datetime(1997, 9, 2, 9, 0, 1),
@@ -2153,8 +2153,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthAndWeekDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0, 0),
datetime(1998, 1, 1, 0, 0, 1),
@@ -2163,8 +2163,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthAndNWeekDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bymonth=(1,3),
- byweekday=(TU(1),TH(-1)),
+ bymonth=(1, 3),
+ byweekday=(TU(1), TH(-1)),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0, 0),
datetime(1998, 1, 1, 0, 0, 1),
@@ -2173,8 +2173,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0, 0),
datetime(1998, 1, 1, 0, 0, 1),
@@ -2183,9 +2183,9 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthAndMonthDayAndWeekDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bymonth=(1,3),
- bymonthday=(1,3),
- byweekday=(TU,TH),
+ bymonth=(1, 3),
+ bymonthday=(1, 3),
+ byweekday=(TU, TH),
dtstart=parse("19970902T090000"))),
[datetime(1998, 1, 1, 0, 0, 0),
datetime(1998, 1, 1, 0, 0, 1),
@@ -2194,7 +2194,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByYearDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=4,
- byyearday=(1,100,200,365),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 0, 0, 0),
datetime(1997, 12, 31, 0, 0, 1),
@@ -2204,7 +2204,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByYearDayNeg(self):
self.assertEqual(list(rrule(SECONDLY,
count=4,
- byyearday=(-365,-266,-166,-1),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1997, 12, 31, 0, 0, 0),
datetime(1997, 12, 31, 0, 0, 1),
@@ -2214,8 +2214,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthAndYearDay(self):
self.assertEqual(list(rrule(SECONDLY,
count=4,
- bymonth=(4,7),
- byyearday=(1,100,200,365),
+ bymonth=(4, 7),
+ byyearday=(1, 100, 200, 365),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 0, 0, 0),
datetime(1998, 4, 10, 0, 0, 1),
@@ -2225,8 +2225,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMonthAndYearDayNeg(self):
self.assertEqual(list(rrule(SECONDLY,
count=4,
- bymonth=(4,7),
- byyearday=(-365,-266,-166,-1),
+ bymonth=(4, 7),
+ byyearday=(-365, -266, -166, -1),
dtstart=parse("19970902T090000"))),
[datetime(1998, 4, 10, 0, 0, 0),
datetime(1998, 4, 10, 0, 0, 1),
@@ -2312,7 +2312,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByHour(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byhour=(6,18),
+ byhour=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 0),
datetime(1997, 9, 2, 18, 0, 1),
@@ -2321,7 +2321,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMinute(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byminute=(6,18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 0),
datetime(1997, 9, 2, 9, 6, 1),
@@ -2330,7 +2330,7 @@ class RRuleTest(unittest.TestCase):
def testSecondlyBySecond(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- bysecond=(6,18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0, 6),
datetime(1997, 9, 2, 9, 0, 18),
@@ -2339,8 +2339,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByHourAndMinute(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 0),
datetime(1997, 9, 2, 18, 6, 1),
@@ -2349,8 +2349,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByHourAndSecond(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byhour=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 0, 6),
datetime(1997, 9, 2, 18, 0, 18),
@@ -2359,8 +2359,8 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByMinuteAndSecond(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byminute=(6,18),
- bysecond=(6,18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 6, 6),
datetime(1997, 9, 2, 9, 6, 18),
@@ -2369,9 +2369,9 @@ class RRuleTest(unittest.TestCase):
def testSecondlyByHourAndMinuteAndSecond(self):
self.assertEqual(list(rrule(SECONDLY,
count=3,
- byhour=(6,18),
- byminute=(6,18),
- bysecond=(6,18),
+ byhour=(6, 18),
+ byminute=(6, 18),
+ bysecond=(6, 18),
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 18, 6, 6),
datetime(1997, 9, 2, 18, 6, 18),
@@ -2433,7 +2433,7 @@ class RRuleTest(unittest.TestCase):
self.assertEqual(list(rrule(WEEKLY,
count=3,
interval=2,
- byweekday=(TU,SU),
+ byweekday=(TU, SU),
wkst=MO,
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
@@ -2444,7 +2444,7 @@ class RRuleTest(unittest.TestCase):
self.assertEqual(list(rrule(WEEKLY,
count=3,
interval=2,
- byweekday=(TU,SU),
+ byweekday=(TU, SU),
wkst=SU,
dtstart=parse("19970902T090000"))),
[datetime(1997, 9, 2, 9, 0),
@@ -2669,7 +2669,7 @@ class RRuleTest(unittest.TestCase):
def testSetExRule(self):
set = rruleset()
- set.rrule(rrule(YEARLY, count=6, byweekday=(TU,TH),
+ set.rrule(rrule(YEARLY, count=6, byweekday=(TU, TH),
dtstart=parse("19970902T090000")))
set.exrule(rrule(YEARLY, count=3, byweekday=TH,
dtstart=parse("19970902T090000")))
@@ -2680,7 +2680,7 @@ class RRuleTest(unittest.TestCase):
def testSetExDate(self):
set = rruleset()
- set.rrule(rrule(YEARLY, count=6, byweekday=(TU,TH),
+ set.rrule(rrule(YEARLY, count=6, byweekday=(TU, TH),
dtstart=parse("19970902T090000")))
set.exdate(datetime(1997, 9, 4, 9))
set.exdate(datetime(1997, 9, 11, 9))
@@ -2734,7 +2734,7 @@ class RRuleTest(unittest.TestCase):
def testSetCount(self):
set = rruleset()
- set.rrule(rrule(YEARLY, count=6, byweekday=(TU,TH),
+ set.rrule(rrule(YEARLY, count=6, byweekday=(TU, TH),
dtstart=parse("19970902T090000")))
set.exrule(rrule(YEARLY, count=3, byweekday=TH,
dtstart=parse("19970902T090000")))
@@ -2961,7 +2961,7 @@ class RRuleTest(unittest.TestCase):
self.assertRaises(ValueError,
rrule, MONTHLY,
count=1,
- bysetpos=(-1,0,1),
+ bysetpos=(-1, 0, 1),
dtstart=parse("19970902T090000"))
@@ -2979,7 +2979,7 @@ class ParserTest(unittest.TestCase):
tzinfo=self.brsttz))
def testDateCommandFormatUnicode(self):
- self.assertEqual(parse(u"Thu Sep 25 10:36:28 BRST 2003",
+ self.assertEqual(parse("Thu Sep 25 10:36:28 BRST 2003",
tzinfos=self.tzinfos),
datetime(2003, 9, 25, 10, 36, 28,
tzinfo=self.brsttz))
@@ -3570,8 +3570,8 @@ class ParserTest(unittest.TestCase):
# Skip found out that sad precision problem. :-(
dt1 = parse("00:11:25.01")
dt2 = parse("00:12:10.01")
- self.assertEquals(dt1.microsecond, 10000)
- self.assertEquals(dt2.microsecond, 10000)
+ self.assertEqual(dt1.microsecond, 10000)
+ self.assertEqual(dt2.microsecond, 10000)
def testMicrosecondPrecisionErrorReturns(self):
# One more precision issue, discovered by Eric Brown. This should
@@ -3581,10 +3581,10 @@ class ParserTest(unittest.TestCase):
1001, 1000, 999, 998,
101, 100, 99, 98]:
dt = datetime(2008, 2, 27, 21, 26, 1, ms)
- self.assertEquals(parse(dt.isoformat()), dt)
+ self.assertEqual(parse(dt.isoformat()), dt)
def testHighPrecisionSeconds(self):
- self.assertEquals(parse("20080227T21:26:01.123456789"),
+ self.assertEqual(parse("20080227T21:26:01.123456789"),
datetime(2008, 2, 27, 21, 26, 1, 123456))
def testCustomParserInfo(self):
@@ -3595,7 +3595,7 @@ class ParserTest(unittest.TestCase):
MONTHS[0] = ("Foo", "Foo")
myparser = parser(myparserinfo())
dt = myparser.parse("01/Foo/2007")
- self.assertEquals(dt, datetime(2007, 1, 1))
+ self.assertEqual(dt, datetime(2007, 1, 1))
class EasterTest(unittest.TestCase):
@@ -3677,7 +3677,7 @@ class EasterTest(unittest.TestCase):
class TZTest(unittest.TestCase):
- TZFILE_EST5EDT = """
+ TZFILE_EST5EDT = b"""
VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAADrAAAABAAAABCeph5wn7rrYKCGAHCh
ms1gomXicKOD6eCkaq5wpTWnYKZTyvCnFYlgqDOs8Kj+peCqE47wqt6H4KvzcPCsvmngrdNS8K6e
S+CvszTwsH4t4LGcUXCyZ0pgs3wzcLRHLGC1XBVwticOYLc793C4BvBguRvZcLnm0mC7BPXwu8a0
@@ -3703,7 +3703,7 @@ AAEAAQABAAEAAQABAAEAAQABAAEAAf//x8ABAP//ubAABP//x8ABCP//x8ABDEVEVABFU1QARVdU
AEVQVAAAAAABAAAAAQ==
"""
- EUROPE_HELSINKI = """
+ EUROPE_HELSINKI = b"""
VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAAAAAAAAB1AAAABQAAAA2kc28Yy85RYMy/hdAV
I+uQFhPckBcDzZAX876QGOOvkBnToJAaw5GQG7y9EBysrhAdnJ8QHoyQEB98gRAgbHIQIVxjECJM
VBAjPEUQJCw2ECUcJxAmDBgQJwVDkCf1NJAo5SWQKdUWkCrFB5ArtPiQLKTpkC2U2pAuhMuQL3S8
@@ -3718,7 +3718,7 @@ BAMEAwQDBAMEAwQDBAMEAwQDBAMEAwQDBAMEAwQDBAMEAwQDBAMEAwQDBAMEAwQDBAMEAwQDBAME
AwQAABdoAAAAACowAQQAABwgAAkAACowAQQAABwgAAlITVQARUVTVABFRVQAAAAAAQEAAAABAQ==
"""
- NEW_YORK = """
+ NEW_YORK = b"""
VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAABcAAADrAAAABAAAABCeph5wn7rrYKCGAHCh
ms1gomXicKOD6eCkaq5wpTWnYKZTyvCnFYlgqDOs8Kj+peCqE47wqt6H4KvzcPCsvmngrdNS8K6e
S+CvszTwsH4t4LGcUXCyZ0pgs3wzcLRHLGC1XBVwticOYLc793C4BvBguRvZcLnm0mC7BPXwu8a0
@@ -3770,85 +3770,85 @@ END:VTIMEZONE
"""
def testStrStart1(self):
- self.assertEqual(datetime(2003,4,6,1,59,
+ self.assertEqual(datetime(2003, 4, 6, 1, 59,
tzinfo=tzstr("EST5EDT")).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,
+ self.assertEqual(datetime(2003, 4, 6, 2, 00,
tzinfo=tzstr("EST5EDT")).tzname(), "EDT")
def testStrEnd1(self):
- self.assertEqual(datetime(2003,10,26,0,59,
+ self.assertEqual(datetime(2003, 10, 26, 0, 59,
tzinfo=tzstr("EST5EDT")).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,
+ self.assertEqual(datetime(2003, 10, 26, 1, 00,
tzinfo=tzstr("EST5EDT")).tzname(), "EST")
def testStrStart2(self):
s = "EST5EDT,4,0,6,7200,10,0,26,7200,3600"
- self.assertEqual(datetime(2003,4,6,1,59,
+ self.assertEqual(datetime(2003, 4, 6, 1, 59,
tzinfo=tzstr(s)).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,
+ self.assertEqual(datetime(2003, 4, 6, 2, 00,
tzinfo=tzstr(s)).tzname(), "EDT")
def testStrEnd2(self):
s = "EST5EDT,4,0,6,7200,10,0,26,7200,3600"
- self.assertEqual(datetime(2003,10,26,0,59,
+ self.assertEqual(datetime(2003, 10, 26, 0, 59,
tzinfo=tzstr(s)).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,
+ self.assertEqual(datetime(2003, 10, 26, 1, 00,
tzinfo=tzstr(s)).tzname(), "EST")
def testStrStart3(self):
s = "EST5EDT,4,1,0,7200,10,-1,0,7200,3600"
- self.assertEqual(datetime(2003,4,6,1,59,
+ self.assertEqual(datetime(2003, 4, 6, 1, 59,
tzinfo=tzstr(s)).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,
+ self.assertEqual(datetime(2003, 4, 6, 2, 00,
tzinfo=tzstr(s)).tzname(), "EDT")
def testStrEnd3(self):
s = "EST5EDT,4,1,0,7200,10,-1,0,7200,3600"
- self.assertEqual(datetime(2003,10,26,0,59,
+ self.assertEqual(datetime(2003, 10, 26, 0, 59,
tzinfo=tzstr(s)).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,
+ self.assertEqual(datetime(2003, 10, 26, 1, 00,
tzinfo=tzstr(s)).tzname(), "EST")
def testStrStart4(self):
s = "EST5EDT4,M4.1.0/02:00:00,M10-5-0/02:00"
- self.assertEqual(datetime(2003,4,6,1,59,
+ self.assertEqual(datetime(2003, 4, 6, 1, 59,
tzinfo=tzstr(s)).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,
+ self.assertEqual(datetime(2003, 4, 6, 2, 00,
tzinfo=tzstr(s)).tzname(), "EDT")
def testStrEnd4(self):
s = "EST5EDT4,M4.1.0/02:00:00,M10-5-0/02:00"
- self.assertEqual(datetime(2003,10,26,0,59,
+ self.assertEqual(datetime(2003, 10, 26, 0, 59,
tzinfo=tzstr(s)).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,
+ self.assertEqual(datetime(2003, 10, 26, 1, 00,
tzinfo=tzstr(s)).tzname(), "EST")
def testStrStart5(self):
s = "EST5EDT4,95/02:00:00,298/02:00"
- self.assertEqual(datetime(2003,4,6,1,59,
+ self.assertEqual(datetime(2003, 4, 6, 1, 59,
tzinfo=tzstr(s)).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,
+ self.assertEqual(datetime(2003, 4, 6, 2, 00,
tzinfo=tzstr(s)).tzname(), "EDT")
def testStrEnd5(self):
s = "EST5EDT4,95/02:00:00,298/02"
- self.assertEqual(datetime(2003,10,26,0,59,
+ self.assertEqual(datetime(2003, 10, 26, 0, 59,
tzinfo=tzstr(s)).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,
+ self.assertEqual(datetime(2003, 10, 26, 1, 00,
tzinfo=tzstr(s)).tzname(), "EST")
def testStrStart6(self):
s = "EST5EDT4,J96/02:00:00,J299/02:00"
- self.assertEqual(datetime(2003,4,6,1,59,
+ self.assertEqual(datetime(2003, 4, 6, 1, 59,
tzinfo=tzstr(s)).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,
+ self.assertEqual(datetime(2003, 4, 6, 2, 00,
tzinfo=tzstr(s)).tzname(), "EDT")
def testStrEnd6(self):
s = "EST5EDT4,J96/02:00:00,J299/02"
- self.assertEqual(datetime(2003,10,26,0,59,
+ self.assertEqual(datetime(2003, 10, 26, 0, 59,
tzinfo=tzstr(s)).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,
+ self.assertEqual(datetime(2003, 10, 26, 1, 00,
tzinfo=tzstr(s)).tzname(), "EST")
def testStrCmp1(self):
@@ -3874,77 +3874,78 @@ END:VTIMEZONE
tzrange("EST", -18000, "EDT"))
def testFileStart1(self):
- tz = tzfile(StringIO(base64.decodestring(self.TZFILE_EST5EDT)))
- self.assertEqual(datetime(2003,4,6,1,59,tzinfo=tz).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,tzinfo=tz).tzname(), "EDT")
+ tz = tzfile(BytesIO(base64.decodebytes(self.TZFILE_EST5EDT)))
+ self.assertEqual(datetime(2003, 4, 6, 1, 59, tzinfo=tz).tzname(), "EST")
+ self.assertEqual(datetime(2003, 4, 6, 2, 00, tzinfo=tz).tzname(), "EDT")
def testFileEnd1(self):
- tz = tzfile(StringIO(base64.decodestring(self.TZFILE_EST5EDT)))
- self.assertEqual(datetime(2003,10,26,0,59,tzinfo=tz).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,tzinfo=tz).tzname(), "EST")
+ tz = tzfile(BytesIO(base64.decodebytes(self.TZFILE_EST5EDT)))
+ self.assertEqual(datetime(2003, 10, 26, 0, 59, tzinfo=tz).tzname(), "EDT")
+ self.assertEqual(datetime(2003, 10, 26, 1, 00, tzinfo=tz).tzname(), "EST")
def testZoneInfoFileStart1(self):
tz = zoneinfo.gettz("EST5EDT")
- self.assertEqual(datetime(2003,4,6,1,59,tzinfo=tz).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,tzinfo=tz).tzname(), "EDT")
+ self.assertEqual(datetime(2003, 4, 6, 1, 59, tzinfo=tz).tzname(), "EST")
+ self.assertEqual(datetime(2003, 4, 6, 2, 00, tzinfo=tz).tzname(), "EDT")
def testZoneInfoFileEnd1(self):
tz = zoneinfo.gettz("EST5EDT")
- self.assertEqual(datetime(2003,10,26,0,59,tzinfo=tz).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,tzinfo=tz).tzname(), "EST")
+ self.assertEqual(datetime(2003, 10, 26, 0, 59, tzinfo=tz).tzname(), "EDT")
+ self.assertEqual(datetime(2003, 10, 26, 1, 00, tzinfo=tz).tzname(), "EST")
def testZoneInfoOffsetSignal(self):
- utc = gettz("UTC")
+ utc = zoneinfo.gettz("UTC")
nyc = zoneinfo.gettz("America/New_York")
- t0 = datetime(2007,11,4,0,30, tzinfo=nyc)
+ self.assertFalse(any([None in [utc, nyc]]))
+ t0 = datetime(2007, 11, 4, 0, 30, tzinfo=nyc)
t1 = t0.astimezone(utc)
t2 = t1.astimezone(nyc)
- self.assertEquals(t0, t2)
- self.assertEquals(nyc.dst(t0), timedelta(hours=1))
+ self.assertEqual(t0, t2)
+ self.assertEqual(nyc.dst(t0), timedelta(hours=1))
def testICalStart1(self):
tz = tzical(StringIO(self.TZICAL_EST5EDT)).get()
- self.assertEqual(datetime(2003,4,6,1,59,tzinfo=tz).tzname(), "EST")
- self.assertEqual(datetime(2003,4,6,2,00,tzinfo=tz).tzname(), "EDT")
+ self.assertEqual(datetime(2003, 4, 6, 1, 59, tzinfo=tz).tzname(), "EST")
+ self.assertEqual(datetime(2003, 4, 6, 2, 00, tzinfo=tz).tzname(), "EDT")
def testICalEnd1(self):
tz = tzical(StringIO(self.TZICAL_EST5EDT)).get()
- self.assertEqual(datetime(2003,10,26,0,59,tzinfo=tz).tzname(), "EDT")
- self.assertEqual(datetime(2003,10,26,1,00,tzinfo=tz).tzname(), "EST")
+ self.assertEqual(datetime(2003, 10, 26, 0, 59, tzinfo=tz).tzname(), "EDT")
+ self.assertEqual(datetime(2003, 10, 26, 1, 00, tzinfo=tz).tzname(), "EST")
def testRoundNonFullMinutes(self):
# This timezone has an offset of 5992 seconds in 1900-01-01.
- tz = tzfile(StringIO(base64.decodestring(self.EUROPE_HELSINKI)))
- self.assertEquals(str(datetime(1900,1,1,0,0, tzinfo=tz)),
- "1900-01-01 00:00:00+01:40")
+ tz = tzfile(BytesIO(base64.decodebytes(self.EUROPE_HELSINKI)))
+ self.assertEqual(str(datetime(1900, 1, 1, 0, 0, tzinfo=tz)),
+ "1900-01-01 00:00:00+01:40")
def testLeapCountDecodesProperly(self):
# This timezone has leapcnt, and failed to decode until
# Eugene Oden notified about the issue.
- tz = tzfile(StringIO(base64.decodestring(self.NEW_YORK)))
- self.assertEquals(datetime(2007,3,31,20,12).tzname(), None)
+ tz = tzfile(BytesIO(base64.decodebytes(self.NEW_YORK)))
+ self.assertEqual(datetime(2007, 3, 31, 20, 12).tzname(), None)
def testBrokenIsDstHandling(self):
# tzrange._isdst() was using a date() rather than a datetime().
# Issue reported by Lennart Regebro.
- dt = datetime(2007,8,6,4,10, tzinfo=tzutc())
- self.assertEquals(dt.astimezone(tz=gettz("GMT+2")),
- datetime(2007,8,6,6,10, tzinfo=tzstr("GMT+2")))
+ dt = datetime(2007, 8, 6, 4, 10, tzinfo=tzutc())
+ self.assertEqual(dt.astimezone(tz=gettz("GMT+2")),
+ datetime(2007, 8, 6, 6, 10, tzinfo=tzstr("GMT+2")))
def testGMTHasNoDaylight(self):
# tzstr("GMT+2") improperly considered daylight saving time.
# Issue reported by Lennart Regebro.
- dt = datetime(2007,8,6,4,10)
- self.assertEquals(gettz("GMT+2").dst(dt), timedelta(0))
+ dt = datetime(2007, 8, 6, 4, 10)
+ self.assertEqual(gettz("GMT+2").dst(dt), timedelta(0))
def testGMTOffset(self):
# GMT and UTC offsets have inverted signal when compared to the
# usual TZ variable handling.
- dt = datetime(2007,8,6,4,10, tzinfo=tzutc())
- self.assertEquals(dt.astimezone(tz=tzstr("GMT+2")),
- datetime(2007,8,6,6,10, tzinfo=tzstr("GMT+2")))
- self.assertEquals(dt.astimezone(tz=gettz("UTC-2")),
- datetime(2007,8,6,2,10, tzinfo=tzstr("UTC-2")))
+ dt = datetime(2007, 8, 6, 4, 10, tzinfo=tzutc())
+ self.assertEqual(dt.astimezone(tz=tzstr("GMT+2")),
+ datetime(2007, 8, 6, 6, 10, tzinfo=tzstr("GMT+2")))
+ self.assertEqual(dt.astimezone(tz=gettz("UTC-2")),
+ datetime(2007, 8, 6, 2, 10, tzinfo=tzstr("UTC-2")))
if __name__ == "__main__":
diff --git a/updatezinfo.py b/updatezinfo.py
index d39182c..415b8c3 100755
--- a/updatezinfo.py
+++ b/updatezinfo.py
@@ -14,22 +14,22 @@ def main():
tzdata = sys.argv[1]
else:
from ftplib import FTP
- print "Connecting to %s..." % SERVER
+ print("Connecting to %s..." % SERVER)
ftp = FTP(SERVER)
- print "Logging in..."
+ print("Logging in...")
ftp.login()
- print "Changing to %s..." % DIR
+ print("Changing to %s..." % DIR)
ftp.cwd(DIR)
- print "Listing files..."
+ print("Listing files...")
for name in ftp.nlst():
if NAME.match(name):
break
else:
sys.exit("error: file matching %s not found" % NAME.pattern)
if os.path.isfile(name):
- print "Found local %s..." % name
+ print("Found local %s..." % name)
else:
- print "Retrieving %s..." % name
+ print("Retrieving %s..." % name)
file = open(name, "w")
ftp.retrbinary("RETR "+name, file.write)
file.close()
@@ -37,9 +37,9 @@ def main():
tzdata = name
if not tzdata or not NAME.match(tzdata):
sys.exit("Usage: updatezinfo.py tzdataXXXXX.tar.gz")
- print "Updating timezone information..."
+ print("Updating timezone information...")
rebuild(tzdata, NAME.match(tzdata).group(1))
- print "Done."
+ print("Done.")
if __name__ == "__main__":
main()