[Erp5-report] r30735 - /erp5/trunk/products/ERP5Type/patches/XMLExportImport.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Nov 18 15:51:55 CET 2009


Author: leonardo
Date: Wed Nov 18 15:51:54 2009
New Revision: 30735

URL: http://svn.erp5.org?rev=30735&view=rev
Log:
XML export: jar._version is gone, pass dummy parameter instead. Add logging to ZODB load failures

Modified:
    erp5/trunk/products/ERP5Type/patches/XMLExportImport.py

Modified: erp5/trunk/products/ERP5Type/patches/XMLExportImport.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/patches/XMLExportImport.py?rev=30735&r1=30734&r2=30735&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/patches/XMLExportImport.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/patches/XMLExportImport.py [utf8] Wed Nov 18 15:51:54 2009
@@ -28,6 +28,9 @@
 from types import StringType
 from types import DictionaryType
 from OFS import XMLExportImport
+
+from logging import getLogger
+log = getLogger(__name__)
 
 # Jython has PyStringMap; it's a dict subclass with string keys
 try:
@@ -125,7 +128,9 @@
     #id_mapping = ppml.IdentityMapping()
     write=file.write
     write('<?xml version="1.0"?>\012<ZopeData>\012')
-    version=jar._version
+    # Versions are ignored, but some 'load()' implementations require them
+    # FIXME: remove 'version' when TmpStore.load() on ZODB stops asking for it.
+    version=''
     ref=referencesf
     oids=[oid]
     done_oids={}
@@ -140,7 +145,10 @@
         if done(oid): continue
         done_oids[oid]=1
         try: p, serial = load(oid, version)
-        except: pass # Ick, a broken reference
+        except:
+            # Ick, a broken reference
+            log.error('exportXML: could not load oid %r' % oid,
+                      exc_info=True)
         else:
             o, p = reorderPickle(jar, p)
             reordered_pickle.append((oid, o, p))
@@ -159,6 +167,8 @@
                     o, p = reorderPickle(jar, p)
                     new_oidict[oid] = getattr(o, 'id', None)
                 except:
+                    log.error('exportXML: could not load oid %r' % oid,
+                              exc_info=True)
                     new_oidict[oid] = None # Ick, a broken reference
             new_oids.sort(key=lambda x: new_oidict[x])
             # Build new sorted oids




More information about the Erp5-report mailing list