Add query uid__range
This commit is contained in:
@@ -23,6 +23,7 @@ def build_search_query(**kwargs):
|
|||||||
date__lt = kwargs.get('date__lt', False)
|
date__lt = kwargs.get('date__lt', False)
|
||||||
date__on = kwargs.get('date__on', False)
|
date__on = kwargs.get('date__on', False)
|
||||||
subject = kwargs.get('subject')
|
subject = kwargs.get('subject')
|
||||||
|
uid__range = kwargs.get('uid__range')
|
||||||
|
|
||||||
query = []
|
query = []
|
||||||
|
|
||||||
@@ -53,6 +54,9 @@ def build_search_query(**kwargs):
|
|||||||
if subject is not None:
|
if subject is not None:
|
||||||
query.append('(SUBJECT "%s")' % subject)
|
query.append('(SUBJECT "%s")' % subject)
|
||||||
|
|
||||||
|
if uid__range:
|
||||||
|
query.append('(UID %s)' % uid__range)
|
||||||
|
|
||||||
if query:
|
if query:
|
||||||
logger.debug("IMAP query: {}".format(" ".join(query)))
|
logger.debug("IMAP query: {}".format(" ".join(query)))
|
||||||
return " ".join(query)
|
return " ".join(query)
|
||||||
|
|||||||
@@ -48,3 +48,7 @@ class TestQuery(unittest.TestCase):
|
|||||||
def test_date__on(self):
|
def test_date__on(self):
|
||||||
res = build_search_query(date__on=date(2014, 1, 1))
|
res = build_search_query(date__on=date(2014, 1, 1))
|
||||||
self.assertEqual(res, '(ON "01-Jan-2014")')
|
self.assertEqual(res, '(ON "01-Jan-2014")')
|
||||||
|
|
||||||
|
def test_uid__range(self):
|
||||||
|
res = build_search_query(uid__range='1000:*')
|
||||||
|
self.assertEqual(res, '(UID 1000:*)')
|
||||||
|
|||||||
Reference in New Issue
Block a user