X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/8f39904e76a1462d81fbe80e07a82bba11035cd8..5be86bdbbc04abcd18478a4337f629026da5e3cf:/tasklib/lazy.py?ds=sidebyside diff --git a/tasklib/lazy.py b/tasklib/lazy.py index 0bd9332..260acdf 100644 --- a/tasklib/lazy.py +++ b/tasklib/lazy.py @@ -66,8 +66,14 @@ class LazyUUIDTaskSet(object): def __getattr__(self, name): # Getattr is called only if the attribute could not be found using # normal means - self.replace() - return self.name + + if name.startswith('__'): + # If some internal method was being search, do not convert + # to TaskQuerySet just because of that + raise AttributeError + else: + self.replace() + return self.name def __eq__(self, other): return set(t['uuid'] for t in other) == self._uuids @@ -79,9 +85,8 @@ class LazyUUIDTaskSet(object): return len(self._uuids) def __iter__(self): - self.replace() - for task in self: - yield task + for uuid in self._uuids: + yield LazyUUIDTask(self._tw, uuid) def replace(self): """