]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/samples/ide/activegrid/util/datetimeparser.py
move wxPython to new trunk
[wxWidgets.git] / wxPython / samples / ide / activegrid / util / datetimeparser.py
diff --git a/wxPython/samples/ide/activegrid/util/datetimeparser.py b/wxPython/samples/ide/activegrid/util/datetimeparser.py
deleted file mode 100644 (file)
index 3731658..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#----------------------------------------------------------------------------
-# Name:         datetimeparser.py
-#
-# Purpose:      - Instantiate datetime.datetime/date instance from a string
-#                 date representation.
-#                 Uses dateutil from http://labix.org/python-dateutil.
-#
-#               - Creates string representation of datetime/date instance.
-#
-#
-# Author:       Simon Toens
-#
-# Created:      28-Feb-06
-# CVS-ID:
-# Copyright:    (c) 2005 ActiveGrid, Inc.
-# License:      wxWindows License
-#----------------------------------------------------------------------------
-
-import datetime
-
-try:
-    import dateutil.parser
-    DATEUTIL_INSTALLED = True
-except ImportError:
-    DATEUTIL_INSTALLED = False
-
-ISO_8601_DATE_FORMAT = "%Y-%m-%d"
-ISO_8601_TIME_FORMAT = "%H:%M:%S"
-ISO_8601_DATETIME_FORMAT = "%s %s" %(ISO_8601_DATE_FORMAT,
-                                     ISO_8601_TIME_FORMAT)
-
-DEFAULT_DATETIME = datetime.datetime(1, 1, 1, 0, 0, 0, 0)
-
-
-def format(dateobj, formatstr=None):
-    if (formatstr != None and _isDateTimeObject(dateobj)):
-        return dateobj.strftime(str(formatstr))
-    return str(dateobj)
-
-
-def parse(datestr, formatstr=None, asdate=False, astime=False):
-    """Instantiates and returns a datetime instance from the datestr datetime
-       representation.
-       
-       Optionally, a format string may be used. The format is only loosely
-       interpreted, its only purpose beeing to determine if the year is first
-       or last in datestr, and whether the day is in front or follows the
-       month. If no formatstr is passed in, dateutil tries its best to parse
-       the datestr. The default date format is YYYY-mm-dd HH:SS.
-       
-       If asdate is True, returns a date instance instead of a datetime
-       instance, if astime is True, returns a time instance instead of a
-       datetime instance."""
-    
-       
-    dayfirst, yearfirst = _getDayFirstAndYearFirst(formatstr)
-
-    rtn = None
-
-    try:
-        if DATEUTIL_INSTALLED:
-            rtn = dateutil.parser.parse(str(datestr), fuzzy=True,
-                                        dayfirst=dayfirst, yearfirst=yearfirst,
-                                        default=DEFAULT_DATETIME)
-        else:
-            rtn = DEFAULT_DATETIME
-    except:
-        rtn = DEFAULT_DATETIME
-
-    if (asdate and isinstance(rtn, datetime.datetime)):
-        rtn = datetime.date(rtn.year, rtn.month, rtn.day)
-    elif (astime and isinstance(rtn, datetime.datetime)):
-        rtn = datetime.time(rtn.hour, rtn.minute, rtn.second, rtn.microsecond)
-
-    return rtn
-
-
-def _isDateTimeObject(obj):
-    return (isinstance(obj, datetime.datetime) or
-            isinstance(obj, datetime.date) or
-            isinstance(obj, datetime.time))
-
-
-def _getDayFirstAndYearFirst(formatstr):
-    dayFirst = False
-    yearFirst = False
-    
-    gotYear = False
-    gotMonth = False
-    gotDay = False
-
-    if (formatstr == None):
-        formatstr = ""
-    
-    for c in formatstr:
-        if (c.lower() == "y"):
-            if (gotYear):
-                continue
-            if (not gotDay and not gotMonth):
-                yearFirst = True
-            gotYear = True
-
-        elif (c.lower() == "m"):
-            if (gotMonth):
-                continue
-            if (not gotDay):
-                dayFirst = False
-            gotMonth = True
-            
-        elif (c.lower() == "d"):
-            if (gotDay):
-                continue
-            if (not gotMonth):
-                dayFirst = True
-            gotDay = True
-        
-
-    return dayFirst, yearFirst