From 27d19a209a90c5580b369cb69fdda0ff7e70ac92 Mon Sep 17 00:00:00 2001 From: zevav Date: Thu, 18 Oct 2018 13:00:42 -0400 Subject: [PATCH] moved build_search_query to Messages, refactored to use a class attribute of IMAP_ATTRIBUTE_LOOKUP, so that the vendors package can overwrite and add entries to it for, for example, Gmail's IMAP extensions. added X-GM-RAW to GmailMessages' copy of the lookup to make partial subject searches work. --- imbox/.DS_Store | Bin 0 -> 6148 bytes imbox/imbox.py | 19 +++++++----- imbox/messages.py | 37 +++++++++++++++++++---- imbox/query.py | 65 ----------------------------------------- imbox/query.pyi | 7 ----- imbox/vendors/gmail.py | 5 ++-- 6 files changed, 46 insertions(+), 87 deletions(-) create mode 100644 imbox/.DS_Store delete mode 100644 imbox/query.py delete mode 100644 imbox/query.pyi diff --git a/imbox/.DS_Store b/imbox/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 str: ... - -def build_search_query(**kwargs: Union[bool, str, datetime.date]) -> str: ... diff --git a/imbox/vendors/gmail.py b/imbox/vendors/gmail.py index 97c97d9..08d676e 100644 --- a/imbox/vendors/gmail.py +++ b/imbox/vendors/gmail.py @@ -6,7 +6,7 @@ class GmailMessages(Messages): 'https://myaccount.google.com/apppasswords') hostname = 'imap.gmail.com' name = 'gmail' - folder_lookup = { + FOLDER_LOOKUP = { 'all_mail': '"[Gmail]/All Mail"', 'all': '"[Gmail]/All Mail"', @@ -19,11 +19,12 @@ class GmailMessages(Messages): 'spam': '"[Gmail]/Spam"', 'starred': '"[Gmail]/Starred"', 'trash': '"[Gmail]/Trash"', - } def __init__(self, connection, parser_policy, **kwargs): + + self.IMAP_ATTRIBUTE_LOOKUP['subject'] = '(X-GM-RAW "{}")' super().__init__(connection, parser_policy, **kwargs)