def do_read(self, arg): '''Read mail by uid.''' try: args = docopt.docopt(u'\n'.join([ u'Usage: read [options] <mail_uid> [<save_directory>]', u'', u'Options:', u' -b, --browser Open mail in browser', ]), arg) except SystemExit: return fetched_mail = fetch.read(self.imap_account, args['<mail_uid>'], save_directory=args['<save_directory>']) if fetched_mail is None: log.error("Mail was not fetched, an error occured") if args['--browser'] is True: temp_file = tempfile.NamedTemporaryFile(delete=False) temp_file.write(fetch.display(fetched_mail, browser=True).encode('utf-8')) webbrowser.open_new_tab(temp_file.name) temp_file.close() else: sys.stdout.write(fetch.display(fetched_mail))
def do_read(self, arg): '''Read mail by uid.''' try: args = docopt.docopt( u'\n'.join([ u'Usage: read [options] <mail_uid> [<save_directory>]', u'', u'Options:', u' -b, --browser Open mail in browser', ]), arg) except SystemExit: return fetched_mail = fetch.read(self.imap_account, args['<mail_uid>'], save_directory=args['<save_directory>']) if fetched_mail is None: log.error("Mail was not fetched, an error occured") if args['--browser'] is True: temp_file = tempfile.NamedTemporaryFile(delete=False) temp_file.write( fetch.display(fetched_mail, browser=True).encode('utf-8')) webbrowser.open_new_tab(temp_file.name) temp_file.close() else: sys.stdout.write(fetch.display(fetched_mail))
def test_display_attachment(self): multipart_mail = copy.deepcopy(self.reference_mail) multipart_mail['parts'].append({ u'content_type': u'img/png', u'data': u'xxxxxx', u'filename': 'IMGTEST', }) assert isinstance(fetch.display(multipart_mail), six.string_types)
def read(uid): '''Read mail by uid.''' ensure_connection() if isinstance(uid, six.string_types): uid = int(uid) fetched_mails = list(fetch.read(imap_account, uid)) if fetched_mails is None: print "VIMAP: Mail was not fetched, an error occured" list_dir() global current_mail reset_buffer('vimap-read') b = vim.current.buffer b[:] = None for fetched_mail in fetched_mails: current_mail = fetched_mail for line in fetch.display(current_mail).split('\n'): b.append(line.replace('\r', '')) vim.command("set ft=mail") for key, action in read_mappings: vim.command("nnoremap <silent> <buffer> {} {}".format(key, action)) vim.command("normal dd")
def test_display_in_browser(self): assert isinstance(fetch.display(self.reference_mail, browser=True), six.string_types)
def test_display(self): assert isinstance(fetch.display(self.reference_mail), six.string_types)