X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/710d5afab2bce3b087d4be58b9cb60f6facccd30..f75eab5bef6b810abdac5c0c4c6c74d33f09b255:/tasklib/task.py?ds=sidebyside diff --git a/tasklib/task.py b/tasklib/task.py index faf6604..5eabc65 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -168,53 +168,6 @@ class TaskAnnotation(TaskResource): __repr__ = __unicode__ -class LazyUUIDTask(object): - """ - A lazy wrapper around Task object, referenced by UUID. - - - Supports comparison with LazyUUIDTask or Task objects (equality by UUIDs) - - If any attribute other than 'uuid' requested, a lookup in the - backend will be performed and this object will be replaced by a proper - Task object. - """ - - def __init__(self, tw, uuid): - self._tw = tw - self._uuid = uuid - - def __getitem__(self, key): - # LazyUUIDTask does not provide anything else other than 'uuid' - if key is 'uuid': - return self._uuid - else: - self.replace() - return self[key] - - def __getattr__(self, name): - # Getattr is called only if the attribute could not be found using - # normal means - self.replace() - return self.name - - def __eq__(self, other): - if other['uuid']: - # For saved Tasks, just define equality by equality of uuids - return self['uuid'] == other['uuid'] - - def __hash__(self): - return self['uuid'].__hash__() - - def replace(self): - """ - Performs conversion to the regular Task object, referenced by the - stored UUID. - """ - - replacement = self._tw.tasks.get(uuid=self._uuid) - self.__class__ = replacement.__class__ - self.__dict__ = replacement.__dict__ - - class Task(TaskResource): read_only_fields = ['id', 'entry', 'urgency', 'uuid', 'modified']