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)))
|
||||
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):
|
||||
logger.info("Mark UID {} with \\Deleted FLAG and expunge.".format(int(uid)))
|
||||
mov, data = self.connection.uid('STORE', uid, '+FLAGS', '(\\Deleted)')
|
||||
|
||||
@@ -17,6 +17,8 @@ def build_search_query(**kwargs):
|
||||
|
||||
# Parse keyword arguments
|
||||
unread = kwargs.get('unread', False)
|
||||
unflagged = kwargs.get('unflagged', False)
|
||||
flagged = kwargs.get('flagged', False)
|
||||
sent_from = kwargs.get('sent_from', False)
|
||||
sent_to = kwargs.get('sent_to', False)
|
||||
date__gt = kwargs.get('date__gt', False)
|
||||
@@ -32,6 +34,12 @@ def build_search_query(**kwargs):
|
||||
if unread:
|
||||
query.append("(UNSEEN)")
|
||||
|
||||
if unflagged:
|
||||
query.append("(UNFLAGGED)")
|
||||
|
||||
if flagged:
|
||||
query.append("(FLAGGED)")
|
||||
|
||||
if sent_from:
|
||||
query.append('(FROM "%s")' % sent_from)
|
||||
|
||||
|
||||
@@ -15,6 +15,16 @@ class TestQuery(unittest.TestCase):
|
||||
res = build_search_query(unread=True)
|
||||
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):
|
||||
|
||||
res = build_search_query(sent_from='test@example.com')
|
||||
|
||||
Reference in New Issue
Block a user