From 279c00a925a5a4852b56da1925a4a709750d8b4a Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Fri, 8 May 2009 12:36:37 -0500 Subject: [PATCH] Fixed dateutil to use the "local" subdirectory format. --- plugins/Time/{ => local}/dateutil/__init__.py | 0 plugins/Time/{ => local}/dateutil/parser.py | 0 plugins/Time/{ => local}/dateutil/relativedelta.py | 0 plugins/Time/{ => local}/dateutil/tz.py | 13 ++++--------- plugins/Time/plugin.py | 6 +++--- 5 files changed, 7 insertions(+), 12 deletions(-) rename plugins/Time/{ => local}/dateutil/__init__.py (100%) rename plugins/Time/{ => local}/dateutil/parser.py (100%) rename plugins/Time/{ => local}/dateutil/relativedelta.py (100%) rename plugins/Time/{ => local}/dateutil/tz.py (99%) diff --git a/plugins/Time/dateutil/__init__.py b/plugins/Time/local/dateutil/__init__.py similarity index 100% rename from plugins/Time/dateutil/__init__.py rename to plugins/Time/local/dateutil/__init__.py diff --git a/plugins/Time/dateutil/parser.py b/plugins/Time/local/dateutil/parser.py similarity index 100% rename from plugins/Time/dateutil/parser.py rename to plugins/Time/local/dateutil/parser.py diff --git a/plugins/Time/dateutil/relativedelta.py b/plugins/Time/local/dateutil/relativedelta.py similarity index 100% rename from plugins/Time/dateutil/relativedelta.py rename to plugins/Time/local/dateutil/relativedelta.py diff --git a/plugins/Time/dateutil/tz.py b/plugins/Time/local/dateutil/tz.py similarity index 99% rename from plugins/Time/dateutil/tz.py rename to plugins/Time/local/dateutil/tz.py index 8b1dee162..54ca890b6 100644 --- a/plugins/Time/dateutil/tz.py +++ b/plugins/Time/local/dateutil/tz.py @@ -11,9 +11,9 @@ import datetime import struct import time -relativedelta = None -parser = None -rrule = None +import relativedelta +import parser +rrule = None # XXX Where does this come from? Why isn't it here? __all__ = ["tzutc", "tzoffset", "tzlocal", "tzfile", "tzrange", "tzstr", "tzical", "gettz"] @@ -443,9 +443,6 @@ class tzrange(datetime.tzinfo): def __init__(self, stdabbr, stdoffset=None, dstabbr=None, dstoffset=None, start=None, end=None): - global relativedelta - if not relativedelta: - from dateutil import relativedelta self._std_abbr = stdabbr self._dst_abbr = dstabbr if stdoffset is not None: @@ -519,9 +516,6 @@ class tzrange(datetime.tzinfo): class tzstr(tzrange): def __init__(self, s): - global parser - if not parser: - from dateutil import parser self._s = s res = parser._parsetz(s) @@ -654,6 +648,7 @@ class _tzicalvtz(datetime.tzinfo): class tzical: def __init__(self, fileobj): + # XXX This should be fixed, but doesn't seem to be in our dateutil. global rrule if not rrule: from dateutil import rrule diff --git a/plugins/Time/plugin.py b/plugins/Time/plugin.py index f265fe997..21cddc28f 100644 --- a/plugins/Time/plugin.py +++ b/plugins/Time/plugin.py @@ -30,13 +30,13 @@ import time TIME = time # For later use. -import dateutil.parser - import supybot.conf as conf import supybot.utils as utils from supybot.commands import * import supybot.callbacks as callbacks +parser = utils.python.universalImport('dateutil.parser', 'local.dateutil.parser') + def parse(s): todo = [] s = s.replace('noon', '12:00') @@ -47,7 +47,7 @@ def parse(s): if 'next week' in s: todo.append(lambda i: i + 86400*7) s = s.replace('next week', '') - i = int(time.mktime(dateutil.parser.parse(s, fuzzy=True).timetuple())) + i = int(time.mktime(parser.parse(s, fuzzy=True).timetuple())) for f in todo: i = f(i) return i