summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-06-12 18:40:53 +0300
committerLars Wirzenius <liw@liw.fi>2016-06-12 18:40:53 +0300
commit7a5fbe67358fb0c9b2e846e0c0d11404f9adfc82 (patch)
tree16105c9bd9e593505bc30bb769f19a99061d31cb
parent2de24b0dfa1b5fe12fd9865a6b19f220d5bb4d75 (diff)
downloadobnam-7a5fbe67358fb0c9b2e846e0c0d11404f9adfc82.tar.gz
Revert "Optimise?"
This reverts commit 2de24b0dfa1b5fe12fd9865a6b19f220d5bb4d75.
-rw-r--r--meliaereader/reader.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/meliaereader/reader.py b/meliaereader/reader.py
index 03923efe..de97b545 100644
--- a/meliaereader/reader.py
+++ b/meliaereader/reader.py
@@ -80,20 +80,21 @@ class MeliaeReader(object):
'computing closures for {} objs\n'.format(len(growing_refs)))
growing2 = set()
for ref in growing_refs:
- growing2.update(self.add_to_closure(ref, all_refs))
+ growing2.update(self.add_to_closure(ref))
growing_refs = growing2
assert set(self._objs.keys()) == set(self._closures.keys())
- def add_to_closure(self, ref, all_refs):
+ def add_to_closure(self, ref):
grown = set()
closure = self._closures[ref]
children = [self.get_object(r) for r in closure]
for child in children:
delta = set(child['refs']).difference(closure)
- delta = delta.intersection(all_refs)
if delta:
- closure.update(delta)
+ for r in delta:
+ if r in self:
+ closure.add(r)
grown.add(child['address'])
return grown