Merge pull request #107 from memanikantan/master
Query and mark emails as flagged/starred.
This commit is contained in:
@@ -60,6 +60,10 @@ class Imbox:
|
|||||||
logger.info("Mark UID {} with \\Seen FLAG".format(int(uid)))
|
logger.info("Mark UID {} with \\Seen FLAG".format(int(uid)))
|
||||||
self.connection.uid('STORE', uid, '+FLAGS', '(\\Seen)')
|
self.connection.uid('STORE', uid, '+FLAGS', '(\\Seen)')
|
||||||
|
|
||||||
|
def mark_flag(self, uid):
|
||||||
|
logger.info("Mark UID {} with \\Flagged FLAG".format(int(uid)))
|
||||||
|
self.connection.uid('STORE', uid, '+FLAGS', '(\\Flagged)')
|
||||||
|
|
||||||
def delete(self, uid):
|
def delete(self, uid):
|
||||||
logger.info("Mark UID {} with \\Deleted FLAG and expunge.".format(int(uid)))
|
logger.info("Mark UID {} with \\Deleted FLAG and expunge.".format(int(uid)))
|
||||||
mov, data = self.connection.uid('STORE', uid, '+FLAGS', '(\\Deleted)')
|
mov, data = self.connection.uid('STORE', uid, '+FLAGS', '(\\Deleted)')
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ def build_search_query(**kwargs):
|
|||||||
|
|
||||||
# Parse keyword arguments
|
# Parse keyword arguments
|
||||||
unread = kwargs.get('unread', False)
|
unread = kwargs.get('unread', False)
|
||||||
|
unflagged = kwargs.get('unflagged', False)
|
||||||
|
flagged = kwargs.get('flagged', False)
|
||||||
sent_from = kwargs.get('sent_from', False)
|
sent_from = kwargs.get('sent_from', False)
|
||||||
sent_to = kwargs.get('sent_to', False)
|
sent_to = kwargs.get('sent_to', False)
|
||||||
date__gt = kwargs.get('date__gt', False)
|
date__gt = kwargs.get('date__gt', False)
|
||||||
@@ -32,6 +34,12 @@ def build_search_query(**kwargs):
|
|||||||
if unread:
|
if unread:
|
||||||
query.append("(UNSEEN)")
|
query.append("(UNSEEN)")
|
||||||
|
|
||||||
|
if unflagged:
|
||||||
|
query.append("(UNFLAGGED)")
|
||||||
|
|
||||||
|
if flagged:
|
||||||
|
query.append("(FLAGGED)")
|
||||||
|
|
||||||
if sent_from:
|
if sent_from:
|
||||||
query.append('(FROM "%s")' % sent_from)
|
query.append('(FROM "%s")' % sent_from)
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,16 @@ class TestQuery(unittest.TestCase):
|
|||||||
res = build_search_query(unread=True)
|
res = build_search_query(unread=True)
|
||||||
self.assertEqual(res, "(UNSEEN)")
|
self.assertEqual(res, "(UNSEEN)")
|
||||||
|
|
||||||
|
def test_unflagged(self):
|
||||||
|
|
||||||
|
res = build_search_query(unflagged=True)
|
||||||
|
self.assertEqual(res, "(UNFLAGGED)")
|
||||||
|
|
||||||
|
def test_flagged(self):
|
||||||
|
|
||||||
|
res = build_search_query(flagged=True)
|
||||||
|
self.assertEqual(res, "(FLAGGED)")
|
||||||
|
|
||||||
def test_sent_from(self):
|
def test_sent_from(self):
|
||||||
|
|
||||||
res = build_search_query(sent_from='test@example.com')
|
res = build_search_query(sent_from='test@example.com')
|
||||||
|
|||||||
Reference in New Issue
Block a user