From 0bd8d5b8dc2ea66b4e3cb4adac539eb86579c9e8 Mon Sep 17 00:00:00 2001 From: Olivier Mangin Date: Mon, 18 Dec 2017 18:47:41 -0500 Subject: [PATCH] Actually adds the functionality as well as a few more tests. --- pubs/commands/list_cmd.py | 2 ++ tests/test_queries.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pubs/commands/list_cmd.py b/pubs/commands/list_cmd.py index 02b962d..4461ddc 100644 --- a/pubs/commands/list_cmd.py +++ b/pubs/commands/list_cmd.py @@ -163,6 +163,8 @@ def _query_block_to_filter(query_block, case_sensitive=None): return TagFilter(value, case_sensitive=case_sensitive) elif field == 'author': return AuthorFilter(value, case_sensitive=case_sensitive) + elif field == 'year': + return YearFilter(value) else: return FieldFilter(field, value, case_sensitive=case_sensitive) diff --git a/tests/test_queries.py b/tests/test_queries.py index 0edf6a3..c9d1982 100644 --- a/tests/test_queries.py +++ b/tests/test_queries.py @@ -108,6 +108,7 @@ class TestFilterPaper(unittest.TestCase): def test_fields(self): self.assertTrue(get_paper_filter(['year:2013'])(doe_paper)) + self.assertTrue(get_paper_filter(['year:2010-'])(doe_paper)) self.assertFalse(get_paper_filter(['year:2014'])(doe_paper)) self.assertTrue(get_paper_filter(['author:doe'])(doe_paper)) self.assertTrue(get_paper_filter(['author:Doe'])(doe_paper)) @@ -120,7 +121,8 @@ class TestFilterPaper(unittest.TestCase): def test_multiple(self): self.assertTrue(get_paper_filter(['author:doe', 'year:2013'])(doe_paper)) - self.assertFalse(get_paper_filter(['author:doe', 'year:2014'])(doe_paper)) + self.assertTrue(get_paper_filter(['author:doe', 'year:2010-2014'])(doe_paper)) + self.assertFalse(get_paper_filter(['author:doe', 'year:2014-'])(doe_paper)) self.assertFalse(get_paper_filter(['author:doee', 'year:2014'])(doe_paper))