Title: [commits] (morgen) [15345] Fix for bug 10882 (Export of chex should dump masters before occurrences) r=Jeffrey
Revision
15345
Author
morgen
Date
2007-09-21 15:04:15 -0700 (Fri, 21 Sep 2007)

Log Message

Fix for bug 10882 (Export of chex should dump masters before occurrences) r=Jeffrey

Modified Paths

Diff

Modified: trunk/chandler/parcels/osaf/dumpreload.py (15344 => 15345)

--- trunk/chandler/parcels/osaf/dumpreload.py	2007-09-21 19:48:51 UTC (rev 15344)
+++ trunk/chandler/parcels/osaf/dumpreload.py	2007-09-21 22:04:15 UTC (rev 15345)
@@ -100,15 +100,23 @@
 
     translator = getTranslator()
 
-    if uuids is None:
-        uuids = set()
-        for item in schema.Item.iterItems(rv):
-            if not str(item.itsPath).startswith("//parcels"):
-                uuids.add(item.itsUUID)
 
     trans = translator(rv)
     trans.obfuscation = obfuscate
 
+    aliases = list()
+
+    if uuids:
+        for uuid in uuids:
+            aliases.append(trans.getAliasForItem(rv.findUUID(uuid)))
+    else:
+        for item in schema.Item.iterItems(rv):
+            if not str(item.itsPath).startswith("//parcels"):
+                aliases.append(trans.getAliasForItem(item))
+
+    # Sort on alias so masters are dumped before occurrences
+    aliases.sort()
+
     trans.startExport()
 
     try:
@@ -128,12 +136,14 @@
         dump = serializer.dumper(output)
 
         if activity:
-            count = len(uuids)
+            count = len(aliases)
             activity.update(msg="Dumping %d records" % count, totalWork=count)
 
         i = 0
-        for uuid in uuids:
-            for record in trans.exportItem(rv.findUUID(uuid)):
+        for alias in aliases:
+            uuid = trans.getUUIDForAlias(alias)
+            item = rv.findUUID(uuid)
+            for record in trans.exportItem(item):
                 dump(record)
             i += 1
             if activity:




_______________________________________________
Commits mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/commits

Reply via email to