X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/cef665aa15650de3a3710215d83d6910f046209f..faa9531194cd3657ce1e2f40e6e8067ac546958c:/tasklib/task.py diff --git a/tasklib/task.py b/tasklib/task.py index 27df12c..3a58e50 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -132,6 +132,11 @@ class Task(TaskResource): def __init__(self, warrior, **kwargs): self.warrior = warrior + # Check that user is not able to set read-only value in __init__ + for key in kwargs.keys(): + if key in self.read_only_fields: + raise RuntimeError('Field \'%s\' is read-only' % key) + # We serialize the data in kwargs so that users of the library # do not have to pass different data formats via __setitem__ and # __init__ methods, that would be confusing @@ -261,9 +266,7 @@ class Task(TaskResource): if self.deleted: raise Task.DeletedTask("Task was already deleted") - self.warrior.execute_command([self['uuid'], 'delete'], config_override={ - 'confirmation': 'no', - }) + self.warrior.execute_command([self['uuid'], 'delete']) # Refresh the status again, so that we have updated info stored self.refresh(only_fields=['status']) @@ -517,6 +520,7 @@ class TaskWarrior(object): os.makedirs(data_location) self.config = { 'data.location': os.path.expanduser(data_location), + 'confirmation': 'no', } self.tasks = TaskQuerySet(self) self.version = self._get_version() @@ -574,6 +578,4 @@ class TaskWarrior(object): }) def undo(self): - self.execute_command(['undo'], config_override={ - 'confirmation': 'no', - }) + self.execute_command(['undo'])