From 1a181c44553b81e5495ff4bdc9bc9d9a9c3373b7 Mon Sep 17 00:00:00 2001 From: Shane Stone <12768327+shanewstone@users.noreply.github.com> Date: Wed, 20 Feb 2019 10:55:55 -0700 Subject: [PATCH] Add CitekeyFilter and FIELD_ALIAS 'key': 'citekey' to query.py --- pubs/query.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pubs/query.py b/pubs/query.py index 9e65eb1..2c82262 100644 --- a/pubs/query.py +++ b/pubs/query.py @@ -15,6 +15,7 @@ FIELD_ALIASES = { 't': 'title', 'tags': 'tag', 'y': 'year', + 'key': 'citekey', } @@ -78,6 +79,12 @@ class AuthorFilter(QueryFilter): for author in paper.bibdata['author']]) +class CitekeyFilter(QueryFilter): + + def __call__(self, paper): + return self._is_query_in(paper.citekey) + + class TagFilter(QueryFilter): def __call__(self, paper): @@ -137,6 +144,9 @@ def _query_block_to_filter(query_block, case_sensitive=None, strict=False): field, value = _get_field_value(query_block) if field == 'tag': return TagFilter(value, case_sensitive=case_sensitive, strict=strict) + elif field == 'citekey': + return CitekeyFilter(value, case_sensitive=case_sensitive, + strict=strict) elif field == 'author': return AuthorFilter(value, case_sensitive=case_sensitive, strict=strict)