diff options
author | Lars Wirzenius <liw@liw.fi> | 2016-06-12 19:02:14 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2016-06-12 19:02:14 +0300 |
commit | 43f7e5ec19bb22b33aa7fa053397e51988c0e8b4 (patch) | |
tree | 6f8db90fabc18c2a48f00de8dedf93ddd141cecb | |
parent | 121c01d2000ac3238ef2ba1ad7f18fc5fe2419aa (diff) | |
download | obnam-43f7e5ec19bb22b33aa7fa053397e51988c0e8b4.tar.gz |
Optimise a little
-rw-r--r-- | meliaereader/reader.py | 8 |
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 |