From: Rob Golding Date: Sun, 3 Nov 2013 21:19:45 +0000 (+0000) Subject: Merge branch 'master' of github.com:robgolding63/tasklib X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/commitdiff_plain/fdaab163072cb27edfef3bd00272449cfa618179?hp=324161f37b54aee71de801b4206f925c967d11d4 Merge branch 'master' of github.com:robgolding63/tasklib Conflicts: tasklib/tests.py --- diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..945c15d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +language: python +python: + - "2.6" + - "2.7" + - "3.2" + - "3.3" +install: "pip install ." +script: "python setup.py test" diff --git a/setup.py b/setup.py index 2d12729..039d1d9 100644 --- a/setup.py +++ b/setup.py @@ -12,6 +12,7 @@ setup( download_url='https://github.com/robgolding63/tasklib/downloads', packages=find_packages(), include_package_data=True, + test_suite='tasklib.tests', classifiers=[ 'Development Status :: 3 - Alpha', 'License :: OSI Approved :: BSD License', diff --git a/tasklib/task.py b/tasklib/task.py index c3f8f3e..e346f67 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -8,6 +8,7 @@ import subprocess DATE_FORMAT = '%Y%m%dT%H%M%SZ' REPR_OUTPUT_SIZE = 10 PENDING = 'pending' +COMPLETED = 'completed' logger = logging.getLogger(__name__) @@ -24,7 +25,6 @@ class Task(object): def __init__(self, warrior, data={}): self.warrior = warrior self._data = data - print data self._modified_fields = set() def __unicode__(self): @@ -76,7 +76,7 @@ class Task(object): }) def done(self): - self.warrior.execute_comamnd([self['id'], 'done']) + self.warrior.execute_command([self['id'], 'done']) def save(self): args = [self['id'], 'modify'] if self['id'] else ['add'] @@ -195,6 +195,9 @@ class TaskQuerySet(object): def pending(self): return self.filter(status=PENDING) + def completed(self): + return self.filter(status=COMPLETED) + def filter(self, *args, **kwargs): """ Returns a new TaskQuerySet with the given filters added. diff --git a/tasklib/tests.py b/tasklib/tests.py index 66f04c7..4f127f0 100644 --- a/tasklib/tests.py +++ b/tasklib/tests.py @@ -1,7 +1,6 @@ import shutil import tempfile import unittest -import uuid from .task import TaskWarrior @@ -26,3 +25,20 @@ class TaskFilterTest(TasklibTest): self.assertEqual(len(self.tw.tasks.all()), 1) self.assertEqual(self.tw.tasks.all()[0]['description'], 'test task') self.assertEqual(self.tw.tasks.all()[0]['status'], 'pending') + + def test_pending_non_empty(self): + self.tw.execute_command(['add', 'test task']) + self.assertEqual(len(self.tw.tasks.pending()), 1) + self.assertEqual(self.tw.tasks.pending()[0]['description'], + 'test task') + self.assertEqual(self.tw.tasks.pending()[0]['status'], 'pending') + + def test_completed_empty(self): + self.tw.execute_command(['add', 'test task']) + self.assertEqual(len(self.tw.tasks.completed()), 0) + + def test_completed_non_empty(self): + self.tw.execute_command(['add', 'test task']) + self.assertEqual(len(self.tw.tasks.completed()), 0) + self.tw.tasks.all()[0].done() + self.assertEqual(len(self.tw.tasks.completed()), 1)