]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/samples/ide/activegrid/util/xmlmarshaller.py
Added changes
[wxWidgets.git] / wxPython / samples / ide / activegrid / util / xmlmarshaller.py
index 1dcf3699e1d2838c55cf32431512a14d243214e0..1b9cd67d4585b2ae2a2037166322616d1162ca1e 100644 (file)
@@ -195,6 +195,8 @@ def _objectfactory(objname, objargs=None, xsname=None):
     try:
         if __builtin__.__dict__.has_key(objname):
             module = __builtin__
     try:
         if __builtin__.__dict__.has_key(objname):
             module = __builtin__
+        elif knownGlobalModule:
+            module = knownGlobalModule
         else:
             if modulename:
                 module = __import__(modulename)
         else:
             if modulename:
                 module = __import__(modulename)
@@ -431,12 +433,13 @@ def _getXmlValue(pythonValue):
     else:
         return str(pythonValue)
 
     else:
         return str(pythonValue)
 
-def unmarshal(xmlstr, knownTypes=None):
-    global knownGlobalTypes
+def unmarshal(xmlstr, knownTypes=None, knownModule=None):
+    global knownGlobalTypes, knownGlobalModule
     if (knownTypes == None):
         knownGlobalTypes = {}
     else:
         knownGlobalTypes = knownTypes
     if (knownTypes == None):
         knownGlobalTypes = {}
     else:
         knownGlobalTypes = knownTypes
+    knownGlobalModule = knownModule
     objectfactory = XMLObjectFactory()
     xml.sax.parseString(xmlstr, objectfactory)
     return objectfactory.getRootObject()
     objectfactory = XMLObjectFactory()
     xml.sax.parseString(xmlstr, objectfactory)
     return objectfactory.getRootObject()