rendered paste bodyIndex: EIM.txt
===================================================================
--- EIM.txt (revision 13948)
+++ EIM.txt (working copy)
@@ -1281,3 +1281,28 @@
RecordSet(set([]), set([]))
+sort_records(records) will return records such that depenencies occur first::
+
+ >>> class DemoA(sharing.Record):
+ ... URI = 'cid:eim.test.demoA-record@osaf.us'
+ ... uuid = sharing.key(int)
+
+ >>> class DemoB(sharing.Record):
+ ... URI = 'cid:eim.test.demoB-record@osaf.us'
+ ... uuid = sharing.key(DemoA.uuid)
+
+ >>> class DemoC(sharing.Record):
+ ... URI = 'cid:eim.test.demoC-record@osaf.us'
+ ... uuid = sharing.key(DemoB.uuid)
+
+ >>> class DemoD(sharing.Record):
+ ... URI = 'cid:eim.test.demoD-record@osaf.us'
+ ... uuid = sharing.key(DemoC.uuid)
+
+ >>> rA = DemoA(1)
+ >>> rB = DemoB(1)
+ >>> rC = DemoC(1)
+ >>> rD = DemoD(1)
+
+ >>> list(sort_records( [rB, rD, rA, rC] ))
+ (rA, rB, rC, rD)