Actually adds the functionality as well as a few more tests.

This commit is contained in:
Olivier Mangin 2017-12-18 18:47:41 -05:00
parent 832a20d743
commit 0bd8d5b8dc
2 changed files with 5 additions and 1 deletions

View File

@ -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)

View File

@ -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))