Actually, we can work around needing dateutil.

If dateutil is present, we'll use that. If not, we'll use
some regexes from the fixed_datetime module.
This commit is contained in:
Lance Stout
2011-08-04 20:20:22 -07:00
parent 6eac0606cf
commit 4d8933abdf
8 changed files with 310 additions and 54 deletions

View File

@@ -6,20 +6,6 @@
See the file LICENSE for copying permission.
"""
__all__ = ['xep_0004', 'xep_0009', 'xep_0012', 'xep_0030', 'xep_0033',
'xep_0045', 'xep_0050', 'xep_0060', 'xep_0066', 'xep_0085',
'xep_0086', 'xep_0092', 'xep_0128', 'xep_0199', 'xep_0203',
'xep_0224', 'xep_0249', 'gmail_notify']
# Some plugins may require external dependencies beyond what the
# core SleekXMPP installation requires. Thus they should only by
# imported automatically if those dependecies are met.
HAVE_DATEUTIL = True
try:
import dateutil
except:
HAVE_DATEUTIL = False
if HAVE_DATEUTIL:
__all__.append('xep_0082')
__all__.append('xep_0202')
'xep_0045', 'xep_0050', 'xep_0060', 'xep_0066', 'xep_0082',
'xep_0085', 'xep_0086', 'xep_0092', 'xep_0128', 'xep_0199',
'xep_0082', 'xep_0203', 'xep_0224', 'xep_0249', 'gmail_notify']

View File

@@ -10,13 +10,7 @@ import logging
import datetime as dt
from sleekxmpp.plugins.base import base_plugin
try:
from dateutil import parser
from dateutil.tz import tzoffset, tzutc
except e:
log = logging.getLogger(__name__)
log.warning("XEP-0082 plugin requires dateutil")
from sleekxmpp.thirdparty import tzutc, tzoffset, parse_iso
# =====================================================================
@@ -31,7 +25,8 @@ def parse(time_str):
Arguments:
time_str -- A formatted timestamp string.
"""
return parser.parse(time_str)
return parse_iso(time_str)
def format_date(time_obj):
"""
@@ -52,7 +47,7 @@ def format_time(time_obj):
Return a formatted string version of a time object.
format:
hh:mm:ss[.sss][TZD
hh:mm:ss[.sss][TZD]
arguments:
time_obj -- A time or datetime object.

View File

@@ -6,23 +6,7 @@
See the file LICENSE for copying permission.
"""
import logging
import sleekxmpp
log = logging.getLogger(__name__)
HAVE_DATEUTIL = True
try:
import dateutil
except:
HAVE_DATEUTIL = False
if HAVE_DATEUTIL:
from sleekxmpp.plugins.xep_0202 import stanza
from sleekxmpp.plugins.xep_0202.stanza import EntityTime
from sleekxmpp.plugins.xep_0202.time import xep_0202
else:
log.warning("XEP-0202 requires the dateutil package")
from sleekxmpp.plugins.xep_0202 import stanza
from sleekxmpp.plugins.xep_0202.stanza import EntityTime
from sleekxmpp.plugins.xep_0202.time import xep_0202

View File

@@ -11,12 +11,7 @@ import datetime as dt
from sleekxmpp.xmlstream import ElementBase
from sleekxmpp.plugins import xep_0082
try:
from dateutil.tz import tzutc
except:
log = logging.getLogger(__name__)
log.warning("XEP-0202 plugin requies dateutil package")
from sleekxmpp.thirdparty import tzutc, tzoffset
class EntityTime(ElementBase):