Previously the code tried to determine a new "file.order" value by
iterating over all files, looking for the highest order. It then
assigned order+100 to a file which didn't have a an order specified.
This turned out to be a flaw of thinking, because the order in which
files are is non-deterministic.
-def memorize_parent(title, parent, order):
+def memorize_parent(title, parent, order=100):
#print "memorize_parent:", title, parent
#print " parent:", _parent
#print " childs:", _childs
#print "memorize_parent:", title, parent
#print " parent:", _parent
#print " childs:", _childs
- if order==-1:
- order = 0
- if _childs.has_key(parent):
- for c in _childs:
- for o,n in _childs[c]:
- if o > order:
- order = o
- else:
- _childs[parent] = []
- order += 100
#print "order:", title, order
if not _childs.has_key(parent):
_childs[parent] = []
#print "order:", title, order
if not _childs.has_key(parent):
_childs[parent] = []
if file.has_key("order"):
order = int(file.order)
else:
if file.has_key("order"):
order = int(file.order)
else:
memorize_parent(file.linktitle, file.parent, order)
memorize_parent(file.linktitle, file.parent, order)