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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.