|
@@ -17,8 +17,8 @@
|
|
###
|
|
###
|
|
|
|
|
|
import sys
|
|
import sys
|
|
-from time import strftime, strptime
|
|
|
|
import logging
|
|
import logging
|
|
|
|
+from datetime import datetime
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
logger = logging.getLogger(__name__)
|
|
import xml.dom.minidom as dom
|
|
import xml.dom.minidom as dom
|
|
@@ -56,6 +56,7 @@ class Value(object):
|
|
self.alias = None
|
|
self.alias = None
|
|
self.dataType = None
|
|
self.dataType = None
|
|
self.encodingRule = []
|
|
self.encodingRule = []
|
|
|
|
+ self.isInternal = False
|
|
if xmlelement:
|
|
if xmlelement:
|
|
self.parseXML(xmlelement)
|
|
self.parseXML(xmlelement)
|
|
|
|
|
|
@@ -197,6 +198,7 @@ class Value(object):
|
|
else:
|
|
else:
|
|
t = self.getTypeByString(enc[0], enc)
|
|
t = self.getTypeByString(enc[0], enc)
|
|
t.parseXML(xmlvalue)
|
|
t.parseXML(xmlvalue)
|
|
|
|
+ t.isInternal = True
|
|
return t
|
|
return t
|
|
else:
|
|
else:
|
|
# 1: ['Alias', [...], n]
|
|
# 1: ['Alias', [...], n]
|
|
@@ -624,7 +626,7 @@ class DateTime(Value):
|
|
self.checkXML(xmlvalue)
|
|
self.checkXML(xmlvalue)
|
|
if xmlvalue.firstChild == None:
|
|
if xmlvalue.firstChild == None:
|
|
# Catch XML <DateTime /> by setting the value to a default
|
|
# Catch XML <DateTime /> by setting the value to a default
|
|
- self.value = strptime(strftime("%Y-%m-%dT%H:%M%S"), "%Y-%m-%dT%H:%M%S")
|
|
|
|
|
|
+ self.value = datetime(2001, 1, 1)
|
|
else:
|
|
else:
|
|
timestr = unicode(xmlvalue.firstChild.data)
|
|
timestr = unicode(xmlvalue.firstChild.data)
|
|
# .NET tends to create this garbage %Y-%m-%dT%H:%M:%S.0000z
|
|
# .NET tends to create this garbage %Y-%m-%dT%H:%M:%S.0000z
|
|
@@ -635,14 +637,14 @@ class DateTime(Value):
|
|
while len(timestr) > 0 and not timestr[-1] in "0123456789":
|
|
while len(timestr) > 0 and not timestr[-1] in "0123456789":
|
|
timestr = timestr[:-1]
|
|
timestr = timestr[:-1]
|
|
try:
|
|
try:
|
|
- self.value = strptime(timestr, "%Y-%m-%dT%H:%M:%S")
|
|
|
|
|
|
+ self.value = datetime.strptime(timestr, "%Y-%m-%dT%H:%M:%S")
|
|
except:
|
|
except:
|
|
try:
|
|
try:
|
|
- self.value = strptime(timestr, "%Y-%m-%d")
|
|
|
|
|
|
+ self.value = datetime.strptime(timestr, "%Y-%m-%d")
|
|
except:
|
|
except:
|
|
logger.error("Timestring format is illegible. Expected 2001-01-30T21:22:23 or 2001-01-30, but got " + \
|
|
logger.error("Timestring format is illegible. Expected 2001-01-30T21:22:23 or 2001-01-30, but got " + \
|
|
timestr + " instead. Time will be defaultet to now()")
|
|
timestr + " instead. Time will be defaultet to now()")
|
|
- self.value = strptime(strftime("%Y-%m-%dT%H:%M%S"), "%Y-%m-%dT%H:%M%S")
|
|
|
|
|
|
+ self.value = datetime(2001, 1, 1)
|
|
|
|
|
|
class QualifiedName(Value):
|
|
class QualifiedName(Value):
|
|
def __init__(self, xmlelement=None):
|
|
def __init__(self, xmlelement=None):
|