Author: reinhard Date: 2008-10-23 08:47:44 -0500 (Thu, 23 Oct 2008) New Revision: 9896
Modified: trunk/gnue-common/src/datasources/GConditions.py trunk/gnue-common/src/datasources/drivers/DBSIG2/Connection.py trunk/gnue-common/src/rpc/client.py trunk/gnue-common/src/rpc/drivers/xmlrpc/typeconv.py trunk/gnue-common/src/rpc/server.py trunk/gnue-common/src/utils/datatypes.py trunk/gnue-forms/INSTALL trunk/gnue-forms/setup.py Log: mx.DateTime is not a hard requirement any more. Modified: trunk/gnue-common/src/datasources/GConditions.py =================================================================== --- trunk/gnue-common/src/datasources/GConditions.py 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-common/src/datasources/GConditions.py 2008-10-23 13:47:44 UTC (rev 9896) @@ -26,7 +26,6 @@ import re import sys -import mx.DateTime import datetime if sys.hexversion >= 0x02040000: import decimal @@ -36,7 +35,18 @@ from gnue.common.formatting import GTypecast from gnue.common.utils import GDateTime +# mx.DateTime is optional - a decreasing number of DBSIG2 modules actually use +# it, and so we don't want it as a hard dependency. Having less dependencies is +# sespecially nice on somewhat exotic platforms, like Windows Mobile. +try: + import mx.DateTime + mx_DateTimeType = mx.DateTime.DateTimeType + mx_DateTimeDeltaType = mx.DateTime.DateTimeDeltaType +except ImportError: + mx_DateTimeType = None + mx_DateTimeDeltaType = None + # ============================================================================= # Exceptions # ============================================================================= @@ -1656,8 +1666,8 @@ raise ConversionError, (oldValue, chkValue) # String to DateTime - elif isinstance (chkValue, mx.DateTime.DateTimeType) or \ - isinstance (chkValue, mx.DateTime.DateTimeDeltaType) or \ + elif isinstance (chkValue, mx_DateTimeType) or \ + isinstance (chkValue, mx_DateTimeDeltaType) or \ isinstance (chkValue, datetime.datetime) or \ isinstance (chkValue, datetime.time) or \ isinstance (chkValue, datetime.date): @@ -1794,14 +1804,14 @@ if isinstance (chkValue, datetime.date): newValue = oldValue.date () - elif isinstance (chkValue, mx.DateTime.DateTimeType): + elif isinstance (chkValue, mx_DateTimeType): newValue = datetime.date (oldValue.year, oldValue.month, oldValue.day) else: raise ConversionRuleError, (v1, v2) - elif isinstance (v1, mx.DateTime.DateTimeType) or \ - isinstance (v2, mx.DateTime.DateTimeType): - if isinstance (v1, mx.DateTime.DateTimeType): + elif isinstance (v1, mx_DateTimeType) or \ + isinstance (v2, mx_DateTimeType): + if isinstance (v1, mx_DateTimeType): oldValue = v1 chkValue = v2 else: @@ -1819,9 +1829,9 @@ else: raise ConversionRuleError, (v1, v2) - elif isinstance (v1, mx.DateTime.DateTimeDeltaType) or \ - isinstance (v2, mx.DateTime.DateTimeDeltaType): - if isinstance (v1, mx.DateTime.DateTimeDeltaType): + elif isinstance (v1, mx_DateTimeDeltaType) or \ + isinstance (v2, mx_DateTimeDeltaType): + if isinstance (v1, mx_DateTimeDeltaType): oldValue = v1 chkValue = v2 else: Modified: trunk/gnue-common/src/datasources/drivers/DBSIG2/Connection.py =================================================================== --- trunk/gnue-common/src/datasources/drivers/DBSIG2/Connection.py 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-common/src/datasources/drivers/DBSIG2/Connection.py 2008-10-23 13:47:44 UTC (rev 9896) @@ -27,9 +27,8 @@ __all__ = ['Connection'] +import datetime import sys -import mx.DateTime -import datetime from gnue.common.apps import errors, GDebug from gnue.common.datasources import Exceptions @@ -37,7 +36,18 @@ from ResultSet import ResultSet +# mx.DateTime is optional - a decreasing number of DBSIG2 modules actually use +# it, and so we don't want it as a hard dependency. Having less dependencies is +# sespecially nice on somewhat exotic platforms, like Windows Mobile. +try: + import mx.DateTime + mx_DateTimeType = mx.DateTime.DateTimeType + mx_DateTimeDeltaType = mx.DateTime.DateTimeDeltaType +except ImportError: + mx_DateTimeType = None + mx_DateTimeDeltaType = None + # ============================================================================= # Connection class # ============================================================================= @@ -387,7 +397,7 @@ else: return self._boolean_false_ - elif isinstance (value, mx.DateTime.DateTimeType) or \ + elif isinstance (value, mx_DateTimeType) or \ isinstance (value, datetime.datetime): second = value.second @@ -401,7 +411,7 @@ value.hour, value.minute, second, microsecond) - elif isinstance (value, mx.DateTime.DateTimeDeltaType) or \ + elif isinstance (value, mx_DateTimeDeltaType) or \ isinstance (value, datetime.time): second = value.second Modified: trunk/gnue-common/src/rpc/client.py =================================================================== --- trunk/gnue-common/src/rpc/client.py 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-common/src/rpc/client.py 2008-10-23 13:47:44 UTC (rev 9896) @@ -123,7 +123,6 @@ import sys from gnue.common.apps import errors import datetime - import mx.DateTime if len (sys.argv) >= 2 and \ sys.argv [1] in ['pyro', 'xmlrpc', 'socket', 'soap']: @@ -185,8 +184,6 @@ 'date': datetime.date.today (), 'time': datetime.datetime.today ().time (), 'datetime': datetime.datetime.today (), - 'mx.DateTime': mx.DateTime.now (), - 'mx.DateTimeDelta': mx.DateTime.DateTimeDelta (0, 1, 2, 3.456)} print "Sending %r (%s) to a roundtrip ..." % (o, type (o)) v = obj.roundtrip (o) print "Result:", repr (v), type (v) Modified: trunk/gnue-common/src/rpc/drivers/xmlrpc/typeconv.py =================================================================== --- trunk/gnue-common/src/rpc/drivers/xmlrpc/typeconv.py 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-common/src/rpc/drivers/xmlrpc/typeconv.py 2008-10-23 13:47:44 UTC (rev 9896) @@ -23,10 +23,21 @@ import xmlrpclib import datetime -import mx.DateTime from gnue.common.lib import iso8601 +# mx.DateTime is optional - a decreasing number of DBSIG2 modules actually use +# it, and so we don't want it as a hard dependency. Having less dependencies is +# sespecially nice on somewhat exotic platforms, like Windows Mobile. +try: + import mx.DateTime + mx_DateTimeType = mx.DateTime.DateTimeType + mx_DateTimeDeltaType = mx.DateTime.DateTimeDeltaType +except ImportError: + mx_DateTimeType = None + mx_DateTimeDeltaType = None + + # ----------------------------------------------------------------------------- # Check wether a given item is an id-dictionary representing a server object # ----------------------------------------------------------------------------- @@ -96,11 +107,11 @@ return value # Date/Time - elif isinstance (value, mx.DateTime.DateTimeType): + elif isinstance (value, mx_DateTimeType): return xmlrpclib.DateTime ("%04d-%02d-%02d %02d:%02d:%09.6f" % (value.year, value.month, value.day, value.hour, value.minute, value.second)) - elif isinstance (value, mx.DateTime.DateTimeDeltaType): + elif isinstance (value, mx_DateTimeDeltaType): return xmlrpclib.DateTime ("%02d:%02d:%09.6f" % (value.hour, value.minute, value.second)) Modified: trunk/gnue-common/src/rpc/server.py =================================================================== --- trunk/gnue-common/src/rpc/server.py 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-common/src/rpc/server.py 2008-10-23 13:47:44 UTC (rev 9896) @@ -111,7 +111,6 @@ import sys import time - import mx.DateTime class TestError (Exception): pass @@ -161,9 +160,6 @@ def floattest (self, f): return f * 2 - def datetimetest (self): - return mx.DateTime.now () - def booltest (self): return True Modified: trunk/gnue-common/src/utils/datatypes.py =================================================================== --- trunk/gnue-common/src/utils/datatypes.py 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-common/src/utils/datatypes.py 2008-10-23 13:47:44 UTC (rev 9896) @@ -27,11 +27,21 @@ __all__ = ['convert', 'InvalidValueType', 'ConversionError'] import datetime -import mx.DateTime from gnue.common.lib import iso8601 +# mx.DateTime is optional - a decreasing number of DBSIG2 modules actually use +# it, and so we don't want it as a hard dependency. Having less dependencies is +# sespecially nice on somewhat exotic platforms, like Windows Mobile. +try: + import mx.DateTime + mx_DateTimeType = mx.DateTime.DateTimeType + mx_DateTimeDeltaType = mx.DateTime.DateTimeDeltaType +except ImportError: + mx_DateTimeType = None + mx_DateTimeDeltaType = None + # ============================================================================= # Convert a value to a given target datatype # ============================================================================= @@ -88,7 +98,7 @@ elif isinstance(value, datetime.date): result = value - elif isinstance(value, mx.DateTime.DateTimeType): + elif isinstance(value, mx_DateTimeType): result = datetime.date(value.year, value.month, value.day) else: @@ -107,8 +117,8 @@ elif isinstance(value, datetime.timedelta): result = (datetime.datetime(1, 1, 1) + value).time() - elif isinstance(value, mx.DateTime.DateTimeType) or \ - isinstance(value, mx.DateTime.DateTimeDeltaType): + elif isinstance(value, mx_DateTimeType) or \ + isinstance(value, mx_DateTimeDeltaType): result = datetime.time(value.hour, value.minute, int(value.second), int((value.second - int(value.second)) * 1000000)) @@ -133,7 +143,7 @@ result = datetime.datetime(1900, 1, 1, value.hour, value.minute, value.second, value.microsecond) - elif isinstance(value, mx.DateTime.DateTimeType): + elif isinstance(value, mx_DateTimeType): result = datetime.datetime(value.year, value.month, value.day, value.hour, value.minute, int(value.second), int((value.second - int(value.second)) * 1000000)) Modified: trunk/gnue-forms/INSTALL =================================================================== --- trunk/gnue-forms/INSTALL 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-forms/INSTALL 2008-10-23 13:47:44 UTC (rev 9896) @@ -10,8 +10,6 @@ * Python 2.3 or greater [python python-dev] -* Egenix MX DateTime tools for Python [python-egenix-mxdatetime] - * GNUe Common 0.6.8 or greater [gnue-common] * at least one of the following database interfaces, depending on the database Modified: trunk/gnue-forms/setup.py =================================================================== --- trunk/gnue-forms/setup.py 2008-09-09 09:37:01 UTC (rev 9895) +++ trunk/gnue-forms/setup.py 2008-10-23 13:47:44 UTC (rev 9896) @@ -115,18 +115,6 @@ sys.exit(1) # ------------------------------------------------------------------------- - # mxDateTime - try: - print "checking mxDateTime library" - from mx.DateTime import DateTime - except ImportError: - print "---" - print "Could not import the mx.DateTime package." - print "Please install mxDateTime from the mxtools suite." - print "The file 'INSTALL' contains more information about dependencies." - sys.exit (1) - - # ------------------------------------------------------------------------- # Verify at least one UI is installed UIOK = 0 _______________________________________________ commit-gnue mailing list commit-gnue@gnu.org http://lists.gnu.org/mailman/listinfo/commit-gnue