Example #1
0
 def imap_lsub(self, tag, argparser):
     ref = argparser.parse()
     name = argparser.parse()
     fullname = '\\'.join([ref, name]) if ref else name
     matcher = utils.mailbox_matcher(utils.normpath(fullname))
     matched_folders = filter(lambda x: matcher.match(x),
                              self._subscriptions)
     for folder in matched_folders:
         fullname = '\\'.join([ref, folder]) if ref else folder
         path = utils.normpath(fullname)
         flags = []
         escapedpath = utils.imap_escape(path)
         self._sock.sendline('* LSUB (%s) "\\\\" "%s"' %
                   (' '.join(flags), escapedpath))
     return 'OK LSUB completed'
Example #2
0
 def imap_list(self, tag, argparser):
     ref = argparser.parse()
     name = argparser.parse()
     # TODO: worth supporting \Marked and \Umarked attributes?
     if len(name) == 0:
         self._sock.sendline('* LIST (\Noselect) "\\\\" "%s"' %
                   (utils.imap_escape(ref)))
         return 'OK LIST completed'
     fullname = '\\'.join([ref, name]) if ref else name
     matcher = utils.mailbox_matcher(utils.normpath(fullname))
     all_folders = self._account.get_mailmanager().get_folders()
     matched_folders = filter(lambda x: matcher.match(x), all_folders)
     for folder in matched_folders:
         fullname = '\\'.join([ref, folder]) if ref else folder
         name = utils.imap_escape(utils.normpath(fullname))
         self._sock.sendline('* LIST () "\\\\" "%s"' % (name))
     return 'OK LIST completed'