summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-06-12 19:02:14 +0300
committerLars Wirzenius <liw@liw.fi>2016-06-12 19:02:14 +0300
commit43f7e5ec19bb22b33aa7fa053397e51988c0e8b4 (patch)
tree6f8db90fabc18c2a48f00de8dedf93ddd141cecb
parent121c01d2000ac3238ef2ba1ad7f18fc5fe2419aa (diff)
downloadobnam-43f7e5ec19bb22b33aa7fa053397e51988c0e8b4.tar.gz
Optimise a little
-rw-r--r--meliaereader/reader.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/meliaereader/reader.py b/meliaereader/reader.py
index 37a044b7..ce7fc397 100644
--- a/meliaereader/reader.py
+++ b/meliaereader/reader.py
@@ -64,7 +64,7 @@ class MeliaeReader(object):
def get_objs_of_type(self, typename):
return [o for o in self if o['type'] == typename]
- def compute_closures_foo(self):
+ def compute_closures_foo(self): # pragma: no cover
all_refs = self._objs.keys()
# Set all closures to be just the object itself.
@@ -86,7 +86,7 @@ class MeliaeReader(object):
assert set(self._objs.keys()) == set(self._closures.keys())
- def add_to_closure(self, ref):
+ def add_to_closure(self, ref): # pragma: no cover
grown = False
closure = self._closures[ref]
children = [self.get_object(r) for r in closure]
@@ -114,7 +114,9 @@ class MeliaeReader(object):
closure.add(ref)
obj = self.get_object(ref)
for child_ref in obj['refs']:
- if child_ref not in closure and child_ref in self:
+ if (child_ref not in closure and
+ child_ref not in todo and
+ child_ref in self):
todo.add(child_ref)
return closure