def test_subject(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP, subject='hi') self.assertEqual(res, '(SUBJECT "hi")') res = build_search_query(GMAIL_ATTRIBUTE_LOOKUP, subject='hi') self.assertEqual(res, '(X-GM-RAW "subject:\'hi\'")')
def query_uids(self, **kwargs): query = build_search_query(**kwargs) message, data = self.connection.uid('search', None, query) if data[0] is None: return [] return data[0].split()
def messages(self, *args, **kwargs): # Check for folder argument folder = kwargs.get('folder', False) if folder: self.connection.select(folder) query = build_search_query(**kwargs) message, data = self.connection.uid('search', None, query) return self.fetch_list(data)
def _query_uids(self, **kwargs): query_ = build_search_query(self.IMAP_ATTRIBUTE_LOOKUP, **kwargs) try: _, data = self.connection.uid('search', None, query_) except IMAP4.error as err: logger.error(err) logging.error("kwargs=%s", kwargs) logging.error("query_=%s", kwargs) self.connection.select() _, data = self.connection.uid('search', None, query_) if data[0] is None: return [] return data[0].split()
def messages(self, *args, **kwargs): # Check for folder argument folder = kwargs.get("folder", False) if folder: self.connection.select(folder) query = build_search_query(**kwargs) message, data = self.connection.uid("search", None, query) return self.fetch_list(data)
def _query_uids(self, **kwargs): query_ = build_search_query(self.IMAP_ATTRIBUTE_LOOKUP, **kwargs) _, data = self.connection.uid('search', None, query_) if data[0] is None: return [] uids = list(reversed(data[0].split())) if 'current_page' in kwargs: self.current_page = kwargs['current_page'] if 'page_size' in kwargs: self.page_size = kwargs['page_size'] if self.current_page == None or self.page_size == None: return uids self.total_records = len(uids) if self.page_size != 0: self.total_pages = (len(uids) + self.page_size - 1) // self.page_size if (self.current_page - 1) * self.page_size > len(uids) - 1: return [] return uids[((self.current_page - 1) * self.page_size):( (self.current_page - 1) * self.page_size + self.page_size)]
def test_unread(self): res = build_search_query(unread=True) self.assertEqual(res, "(UNSEEN)")
def test_date__lt(self): res = build_search_query(date__lt=date(2014, 1, 1)) self.assertEqual(res, "(BEFORE \"1-Jan-2014\")")
def test_gmail_label(self): res = build_search_query(GMAIL_ATTRIBUTE_LOOKUP, label='finance') self.assertEqual(res, '(X-GM-LABELS "finance")')
def test_all(self): res = build_search_query() self.assertEqual(res, "(ALL)")
def _query_uids(self, **kwargs): query_ = build_search_query(self.IMAP_ATTRIBUTE_LOOKUP, **kwargs) _, data = self.connection.uid('search', None, query_) if data[0] is None: return [] return data[0].split()
def test_sent_to(self): res = build_search_query(sent_to='*****@*****.**') self.assertEqual(res, '(TO "*****@*****.**")')
def test_date__lt(self): res = build_search_query(date__lt=date(2014, 1, 1)) self.assertEqual(res, '(BEFORE "01-Jan-2014")')
def test_unread(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP, unread=True) self.assertEqual(res, "(UNSEEN)")
def test_flagged(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP, flagged=True) self.assertEqual(res, "(FLAGGED)")
def test_all(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP) self.assertEqual(res, "(ALL)")
def test_sent_from(self): res = build_search_query(sent_from='*****@*****.**') self.assertEqual(res, "(FROM \"[email protected]\")")
def test_sent_to(self): res = build_search_query(sent_to='*****@*****.**') self.assertEqual(res, "(TO \"[email protected]\")")
def test_text(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP, text='mail body') self.assertEqual(res, '(TEXT "mail body")')
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='*****@*****.**') self.assertEqual(res, '(FROM "*****@*****.**")')
def test_date__gt(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP, date__gt=date(2014, 12, 31)) self.assertEqual(res, '(SINCE "31-Dec-2014")')
def test_date__gt(self): res = build_search_query(date__gt=date(2014, 12, 31)) self.assertEqual(res, '(SINCE "31-Dec-2014")')
def test_date__on(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP, date__on=date(2014, 1, 1)) self.assertEqual(res, '(ON "01-Jan-2014")')
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(IMAP_ATTRIBUTE_LOOKUP, uid__range='1000:*') self.assertEqual(res, '(UID 1000:*)')
def test_gmail_raw(self): res = build_search_query(GMAIL_ATTRIBUTE_LOOKUP, raw='has:attachment subject:"hey"') self.assertEqual(res, '(X-GM-RAW "has:attachment subject:\'hey\'")')
def test_sent_to(self): res = build_search_query(IMAP_ATTRIBUTE_LOOKUP, sent_to='*****@*****.**') self.assertEqual(res, '(TO "*****@*****.**")')
def test_date__gt(self): res = build_search_query(date__gt=date(2014, 12, 31)) self.assertEqual(res, "(SINCE \"31-Dec-2014\")")