Add query uid__range

This commit is contained in:
Sumit Ghosh
2018-09-08 21:54:59 +05:30
parent d0b3fa495e
commit 1f0b952fbc
2 changed files with 8 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ def build_search_query(**kwargs):
date__lt = kwargs.get('date__lt', False)
date__on = kwargs.get('date__on', False)
subject = kwargs.get('subject')
uid__range = kwargs.get('uid__range')
query = []
@@ -53,6 +54,9 @@ def build_search_query(**kwargs):
if subject is not None:
query.append('(SUBJECT "%s")' % subject)
if uid__range:
query.append('(UID %s)' % uid__range)
if query:
logger.debug("IMAP query: {}".format(" ".join(query)))
return " ".join(query)

View File

@@ -48,3 +48,7 @@ class TestQuery(unittest.TestCase):
def test_date__on(self):
res = build_search_query(date__on=date(2014, 1, 1))
self.assertEqual(res, '(ON "01-Jan-2014")')
def test_uid__range(self):
res = build_search_query(uid__range='1000:*')
self.assertEqual(res, '(UID 1000:*)')