Hello community, here is the log from the commit of package python-imbox for openSUSE:Factory checked in at 2017-09-20 17:08:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-imbox (Old) and /work/SRC/openSUSE:Factory/.python-imbox.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-imbox" Wed Sep 20 17:08:38 2017 rev:2 rq:526967 version:0.9 Changes: -------- --- /work/SRC/openSUSE:Factory/python-imbox/python-imbox.changes 2017-06-26 15:54:26.685204468 +0200 +++ /work/SRC/openSUSE:Factory/.python-imbox.new/python-imbox.changes 2017-09-20 17:08:41.275365543 +0200 @@ -1,0 +2,10 @@ +Mon Sep 18 08:39:29 UTC 2017 - [email protected] + +- update to 0.9 + * Permissively Decode Emails: (#78) + * "With" statement for automatic cleanup/logout (#92) +- update to 0.8.6 + * Add support for Python 3.3+ Parsing policies: (#75) + * Remove support for Python 2.7 + +------------------------------------------------------------------- Old: ---- imbox-0.8.5.tar.gz New: ---- imbox-0.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-imbox.spec ++++++ --- /var/tmp/diff_new_pack.TllrRo/_old 2017-09-20 17:08:41.775295168 +0200 +++ /var/tmp/diff_new_pack.TllrRo/_new 2017-09-20 17:08:41.779294605 +0200 @@ -17,8 +17,9 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define skip_python2 1 Name: python-imbox -Version: 0.8.5 +Version: 0.9 Release: 0 Summary: Python IMAP for Human beings License: MIT @@ -27,11 +28,8 @@ Source: https://files.pythonhosted.org/packages/source/i/imbox/imbox-%{version}.tar.gz BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module six} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-six -BuildRoot: %{_tmppath}/%{name}-%{version}-build %python_subpackages %description @@ -45,11 +43,10 @@ %install %python_install -%fdupes %{buildroot} +%python_expand %fdupes %{buildroot}%{$python_sitelib} %files %{python_files} -%defattr(-,root,root,-) -%doc README.md LICENSE +%doc README.rst LICENSE %{python_sitelib}/* %changelog ++++++ imbox-0.8.5.tar.gz -> imbox-0.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/MANIFEST.in new/imbox-0.9/MANIFEST.in --- old/imbox-0.8.5/MANIFEST.in 2015-12-12 11:13:15.000000000 +0100 +++ new/imbox-0.9/MANIFEST.in 2017-09-18 10:07:44.000000000 +0200 @@ -1,3 +1,3 @@ include LICENSE include MANIFEST.in -include README.md \ No newline at end of file +include README.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/PKG-INFO new/imbox-0.9/PKG-INFO --- old/imbox-0.8.5/PKG-INFO 2016-06-08 08:38:41.000000000 +0200 +++ new/imbox-0.9/PKG-INFO 2017-09-18 10:19:54.000000000 +0200 @@ -1,128 +1,134 @@ Metadata-Version: 1.1 Name: imbox -Version: 0.8.5 +Version: 0.9 Summary: Python IMAP for Human beings Home-page: https://github.com/martinrusev/imbox Author: Martin Rusev Author-email: [email protected] License: MIT Description: Imbox - Python IMAP for Humans - ======= + ============================== - [](https://travis-ci.org/martinrusev/imbox) + + .. image:: https://travis-ci.org/martinrusev/imbox.svg?branch=master + :target: https://travis-ci.org/martinrusev/imbox + :alt: Build Status Python library for reading IMAP mailboxes and converting email content to machine readable data + Requirements + ------------ + + Python (3.2, 3.3, 3.4, 3.5, 3.6) Installation - ============ + ------------ - pip install imbox + ``pip install imbox`` Usage - ===== + ----- + + .. code:: python - ```python - from imbox import Imbox + from imbox import Imbox - # SSL Context docs https://docs.python.org/2/library/ssl.html#ssl.create_default_context + # SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_context - imbox = Imbox('imap.gmail.com', - username='username', - password='password', - ssl=True, - ssl_context=None) - - # Gets all messages - all_messages = imbox.messages() - - # Unread messages - unread_messages = imbox.messages(unread=True) - - # Messages sent FROM - messages_from = imbox.messages(sent_from='[email protected]') - - # Messages sent TO - messages_from = imbox.messages(sent_to='[email protected]') - - # Messages received before specific date - messages_from = imbox.messages(date__lt='31-July-2013') - - # Messages received after specific date - messages_from = imbox.messages(date__gt='30-July-2013') - - # Messages from a specific folder - messages_folder = imbox.messages(folder='Social') - - - - for uid, message in all_messages: - ........ - # Every message is an object with the following keys - - message.sent_from - message.sent_to - message.subject - message.headers - message.message_id - message.date - message.body.plain - message.body.html - message.attachments - - # To check all available keys - print message.keys() - - - # To check the whole object, just write - - print message - - { - 'headers': - [{ - 'Name': 'Received-SPF', - 'Value': 'pass (google.com: domain of ......;' - }, - { - 'Name': 'MIME-Version', - 'Value': '1.0' - }], - 'body': { - 'plain: ['ASCII'], - 'html': ['HTML BODY'] - }, - 'attachments': [{ - 'content': <StringIO.StringIO instance at 0x7f8e8445fa70>, - 'filename': "avatar.png", - 'content-type': 'image/png', - 'size': 80264 - }], - 'date': u 'Fri, 26 Jul 2013 10:56:26 +0300', - 'message_id': u '51F22BAA.1040606', - 'sent_from': [{ - 'name': u 'Martin Rusev', - 'email': '[email protected]' - }], - 'sent_to': [{ - 'name': u 'John Doe', - 'email': '[email protected]' - }], - 'subject': u 'Hello John, How are you today' - } - ``` + with Imbox('imap.gmail.com', + username='username', + password='password', + ssl=True, + ssl_context=None) as imbox: + + # Gets all messages + all_messages = imbox.messages() + + # Unread messages + unread_messages = imbox.messages(unread=True) + + # Messages sent FROM + messages_from = imbox.messages(sent_from='[email protected]') + + # Messages sent TO + messages_from = imbox.messages(sent_to='[email protected]') + + # Messages received before specific date + messages_from = imbox.messages(date__lt='31-July-2013') + + # Messages received after specific date + messages_from = imbox.messages(date__gt='30-July-2013') + + # Messages from a specific folder + messages_folder = imbox.messages(folder='Social') + + + + for uid, message in all_messages: + # Every message is an object with the following keys + + message.sent_from + message.sent_to + message.subject + message.headers + message.message_id + message.date + message.body.plain + message.body.html + message.attachments + + # To check all available keys + print(message.keys()) + + + # To check the whole object, just write + + print(message) + + { + 'headers': + [{ + 'Name': 'Received-SPF', + 'Value': 'pass (google.com: domain of ......;' + }, + { + 'Name': 'MIME-Version', + 'Value': '1.0' + }], + 'body': { + 'plain': ['ASCII'], + 'html': ['HTML BODY'] + }, + 'attachments': [{ + 'content': <StringIO.StringIO instance at 0x7f8e8445fa70>, + 'filename': "avatar.png", + 'content-type': 'image/png', + 'size': 80264 + }], + 'date': u 'Fri, 26 Jul 2013 10:56:26 +0300', + 'message_id': u '51F22BAA.1040606', + 'sent_from': [{ + 'name': u 'Martin Rusev', + 'email': '[email protected]' + }], + 'sent_to': [{ + 'name': u 'John Doe', + 'email': '[email protected]' + }], + 'subject': u 'Hello John, How are you today' + } - # [Changelog](https://github.com/martinrusev/imbox/blob/master/CHANGELOG.md) + `Changelog <https://github.com/martinrusev/imbox/blob/master/CHANGELOG.md>`_ Keywords: email,IMAP,parsing emails Platform: UNKNOWN Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3.2 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/README.md new/imbox-0.9/README.md --- old/imbox-0.8.5/README.md 2016-06-08 08:36:33.000000000 +0200 +++ new/imbox-0.9/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,111 +0,0 @@ -Imbox - Python IMAP for Humans -======= - -[](https://travis-ci.org/martinrusev/imbox) - - -Python library for reading IMAP mailboxes and converting email content to machine readable data - - - -Installation -============ - - pip install imbox - - -Usage -===== - -```python -from imbox import Imbox - -# SSL Context docs https://docs.python.org/2/library/ssl.html#ssl.create_default_context - -imbox = Imbox('imap.gmail.com', - username='username', - password='password', - ssl=True, - ssl_context=None) - -# Gets all messages -all_messages = imbox.messages() - -# Unread messages -unread_messages = imbox.messages(unread=True) - -# Messages sent FROM -messages_from = imbox.messages(sent_from='[email protected]') - -# Messages sent TO -messages_from = imbox.messages(sent_to='[email protected]') - -# Messages received before specific date -messages_from = imbox.messages(date__lt='31-July-2013') - -# Messages received after specific date -messages_from = imbox.messages(date__gt='30-July-2013') - -# Messages from a specific folder -messages_folder = imbox.messages(folder='Social') - - - -for uid, message in all_messages: - ........ -# Every message is an object with the following keys - - message.sent_from - message.sent_to - message.subject - message.headers - message.message_id - message.date - message.body.plain - message.body.html - message.attachments - -# To check all available keys - print message.keys() - - -# To check the whole object, just write - - print message - - { - 'headers': - [{ - 'Name': 'Received-SPF', - 'Value': 'pass (google.com: domain of ......;' - }, - { - 'Name': 'MIME-Version', - 'Value': '1.0' - }], - 'body': { - 'plain: ['ASCII'], - 'html': ['HTML BODY'] - }, - 'attachments': [{ - 'content': <StringIO.StringIO instance at 0x7f8e8445fa70>, - 'filename': "avatar.png", - 'content-type': 'image/png', - 'size': 80264 - }], - 'date': u 'Fri, 26 Jul 2013 10:56:26 +0300', - 'message_id': u '51F22BAA.1040606', - 'sent_from': [{ - 'name': u 'Martin Rusev', - 'email': '[email protected]' - }], - 'sent_to': [{ - 'name': u 'John Doe', - 'email': '[email protected]' - }], - 'subject': u 'Hello John, How are you today' - } -``` - - -# [Changelog](https://github.com/martinrusev/imbox/blob/master/CHANGELOG.md) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/README.rst new/imbox-0.9/README.rst --- old/imbox-0.8.5/README.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/imbox-0.9/README.rst 2017-09-18 10:07:44.000000000 +0200 @@ -0,0 +1,117 @@ +Imbox - Python IMAP for Humans +============================== + + +.. image:: https://travis-ci.org/martinrusev/imbox.svg?branch=master + :target: https://travis-ci.org/martinrusev/imbox + :alt: Build Status + + +Python library for reading IMAP mailboxes and converting email content to machine readable data + +Requirements +------------ + +Python (3.2, 3.3, 3.4, 3.5, 3.6) + + +Installation +------------ + +``pip install imbox`` + + +Usage +----- + +.. code:: python + + from imbox import Imbox + + # SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_context + + with Imbox('imap.gmail.com', + username='username', + password='password', + ssl=True, + ssl_context=None) as imbox: + + # Gets all messages + all_messages = imbox.messages() + + # Unread messages + unread_messages = imbox.messages(unread=True) + + # Messages sent FROM + messages_from = imbox.messages(sent_from='[email protected]') + + # Messages sent TO + messages_from = imbox.messages(sent_to='[email protected]') + + # Messages received before specific date + messages_from = imbox.messages(date__lt='31-July-2013') + + # Messages received after specific date + messages_from = imbox.messages(date__gt='30-July-2013') + + # Messages from a specific folder + messages_folder = imbox.messages(folder='Social') + + + + for uid, message in all_messages: + # Every message is an object with the following keys + + message.sent_from + message.sent_to + message.subject + message.headers + message.message_id + message.date + message.body.plain + message.body.html + message.attachments + + # To check all available keys + print(message.keys()) + + + # To check the whole object, just write + + print(message) + + { + 'headers': + [{ + 'Name': 'Received-SPF', + 'Value': 'pass (google.com: domain of ......;' + }, + { + 'Name': 'MIME-Version', + 'Value': '1.0' + }], + 'body': { + 'plain': ['ASCII'], + 'html': ['HTML BODY'] + }, + 'attachments': [{ + 'content': <StringIO.StringIO instance at 0x7f8e8445fa70>, + 'filename': "avatar.png", + 'content-type': 'image/png', + 'size': 80264 + }], + 'date': u 'Fri, 26 Jul 2013 10:56:26 +0300', + 'message_id': u '51F22BAA.1040606', + 'sent_from': [{ + 'name': u 'Martin Rusev', + 'email': '[email protected]' + }], + 'sent_to': [{ + 'name': u 'John Doe', + 'email': '[email protected]' + }], + 'subject': u 'Hello John, How are you today' + } + + +`Changelog <https://github.com/martinrusev/imbox/blob/master/CHANGELOG.md>`_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/imbox/__init__.py new/imbox-0.9/imbox/__init__.py --- old/imbox-0.8.5/imbox/__init__.py 2016-06-08 08:32:00.000000000 +0200 +++ new/imbox-0.9/imbox/__init__.py 2017-09-18 10:07:44.000000000 +0200 @@ -6,20 +6,27 @@ logger = logging.getLogger(__name__) -class Imbox(object): +class Imbox: def __init__(self, hostname, username=None, password=None, ssl=True, - port=None, ssl_context=None): + port=None, ssl_context=None, policy=None): self.server = ImapTransport(hostname, ssl=ssl, port=port, - ssl_context=None) + ssl_context=ssl_context) self.hostname = hostname self.username = username self.password = password + self.parser_policy = policy self.connection = self.server.connect(username, password) logger.info("Connected to IMAP Server with user {username} on {hostname}{ssl}".format( hostname=hostname, username=username, ssl=(" over SSL" if ssl else ""))) + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + self.logout() + def logout(self): self.connection.close() self.connection.logout() @@ -38,7 +45,7 @@ logger.debug("Fetched message for UID {}".format(int(uid))) raw_email = data[0][1] - email_object = parse_email(raw_email) + email_object = parse_email(raw_email, policy=self.parser_policy) return email_object @@ -75,7 +82,7 @@ self.connection.select(folder) msg = " from folder '{}'".format(folder) - logger.info("Fetch list of massages{}".format(msg)) + logger.info("Fetch list of messages{}".format(msg)) return self.fetch_list(**kwargs) def folders(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/imbox/imap.py new/imbox-0.9/imbox/imap.py --- old/imbox-0.8.5/imbox/imap.py 2016-06-08 08:32:00.000000000 +0200 +++ new/imbox-0.9/imbox/imap.py 2017-09-18 10:07:44.000000000 +0200 @@ -6,7 +6,7 @@ logger = logging.getLogger(__name__) -class ImapTransport(object): +class ImapTransport: def __init__(self, hostname, port=None, ssl=True, ssl_context=None): self.hostname = hostname diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/imbox/parser.py new/imbox-0.9/imbox/parser.py --- old/imbox-0.8.5/imbox/parser.py 2016-06-08 08:32:00.000000000 +0200 +++ new/imbox-0.9/imbox/parser.py 2017-09-18 10:07:44.000000000 +0200 @@ -1,6 +1,4 @@ -from __future__ import unicode_literals -from six import BytesIO, binary_type - +import io import re import email import base64 @@ -14,7 +12,7 @@ logger = logging.getLogger(__name__) -class Struct(object): +class Struct: def __init__(self, **entries): self.__dict__.update(entries) @@ -92,7 +90,7 @@ attachment = { 'content-type': message_part.get_content_type(), 'size': len(file_data), - 'content': BytesIO(file_data) + 'content': io.BytesIO(file_data) } filename = message_part.get_param('name') if filename: @@ -116,18 +114,23 @@ content = message.get_payload(decode=True) charset = message.get_content_charset('utf-8') try: - return content.decode(charset) + return content.decode(charset, 'ignore') except AttributeError: return content -def parse_email(raw_email): - if isinstance(raw_email, binary_type): +def parse_email(raw_email, policy=None): + if isinstance(raw_email, bytes): raw_email = str_encode(raw_email, 'utf-8') + if policy is not None: + email_parse_kwargs = dict(policy=policy) + else: + email_parse_kwargs = {} + try: - email_message = email.message_from_string(raw_email) + email_message = email.message_from_string(raw_email, **email_parse_kwargs) except UnicodeEncodeError: - email_message = email.message_from_string(raw_email.encode('utf-8')) + email_message = email.message_from_string(raw_email.encode('utf-8'), **email_parse_kwargs) maintype = email_message.get_content_maintype() parsed_email = {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/imbox/utils.py new/imbox-0.9/imbox/utils.py --- old/imbox-0.8.5/imbox/utils.py 2016-06-08 08:32:00.000000000 +0200 +++ new/imbox-0.9/imbox/utils.py 2017-09-18 10:12:35.000000000 +0200 @@ -1,24 +1,14 @@ -from __future__ import unicode_literals -from six import PY3 - import logging logger = logging.getLogger(__name__) -if PY3: - def str_encode(value='', encoding=None, errors='strict'): - logger.debug("Encode str {} with and errors {}".format(value, encoding, errors)) - return str(value, encoding, errors) - - def str_decode(value='', encoding=None, errors='strict'): - if isinstance(value, str): - return bytes(value, encoding, errors).decode('utf-8') - elif isinstance(value, bytes): - return value.decode(encoding or 'utf-8', errors=errors) - else: - raise TypeError( "Cannot decode '{}' object".format(value.__class__) ) -else: - def str_encode(string='', encoding=None, errors='strict'): - return unicode(string, encoding, errors) +def str_encode(value='', encoding=None, errors='strict'): + logger.debug("Encode str {} with and errors {}".format(value, encoding, errors)) + return str(value, encoding, errors) - def str_decode(value='', encoding=None, errors='strict'): - return value.decode(encoding, errors) +def str_decode(value='', encoding=None, errors='strict'): + if isinstance(value, str): + return bytes(value, encoding, errors).decode('utf-8') + elif isinstance(value, bytes): + return value.decode(encoding or 'utf-8', errors=errors) + else: + raise TypeError( "Cannot decode '{}' object".format(value.__class__) ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/imbox.egg-info/PKG-INFO new/imbox-0.9/imbox.egg-info/PKG-INFO --- old/imbox-0.8.5/imbox.egg-info/PKG-INFO 2016-06-08 08:38:40.000000000 +0200 +++ new/imbox-0.9/imbox.egg-info/PKG-INFO 2017-09-18 10:19:54.000000000 +0200 @@ -1,128 +1,134 @@ Metadata-Version: 1.1 Name: imbox -Version: 0.8.5 +Version: 0.9 Summary: Python IMAP for Human beings Home-page: https://github.com/martinrusev/imbox Author: Martin Rusev Author-email: [email protected] License: MIT Description: Imbox - Python IMAP for Humans - ======= + ============================== - [](https://travis-ci.org/martinrusev/imbox) + + .. image:: https://travis-ci.org/martinrusev/imbox.svg?branch=master + :target: https://travis-ci.org/martinrusev/imbox + :alt: Build Status Python library for reading IMAP mailboxes and converting email content to machine readable data + Requirements + ------------ + + Python (3.2, 3.3, 3.4, 3.5, 3.6) Installation - ============ + ------------ - pip install imbox + ``pip install imbox`` Usage - ===== + ----- + + .. code:: python - ```python - from imbox import Imbox + from imbox import Imbox - # SSL Context docs https://docs.python.org/2/library/ssl.html#ssl.create_default_context + # SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_context - imbox = Imbox('imap.gmail.com', - username='username', - password='password', - ssl=True, - ssl_context=None) - - # Gets all messages - all_messages = imbox.messages() - - # Unread messages - unread_messages = imbox.messages(unread=True) - - # Messages sent FROM - messages_from = imbox.messages(sent_from='[email protected]') - - # Messages sent TO - messages_from = imbox.messages(sent_to='[email protected]') - - # Messages received before specific date - messages_from = imbox.messages(date__lt='31-July-2013') - - # Messages received after specific date - messages_from = imbox.messages(date__gt='30-July-2013') - - # Messages from a specific folder - messages_folder = imbox.messages(folder='Social') - - - - for uid, message in all_messages: - ........ - # Every message is an object with the following keys - - message.sent_from - message.sent_to - message.subject - message.headers - message.message_id - message.date - message.body.plain - message.body.html - message.attachments - - # To check all available keys - print message.keys() - - - # To check the whole object, just write - - print message - - { - 'headers': - [{ - 'Name': 'Received-SPF', - 'Value': 'pass (google.com: domain of ......;' - }, - { - 'Name': 'MIME-Version', - 'Value': '1.0' - }], - 'body': { - 'plain: ['ASCII'], - 'html': ['HTML BODY'] - }, - 'attachments': [{ - 'content': <StringIO.StringIO instance at 0x7f8e8445fa70>, - 'filename': "avatar.png", - 'content-type': 'image/png', - 'size': 80264 - }], - 'date': u 'Fri, 26 Jul 2013 10:56:26 +0300', - 'message_id': u '51F22BAA.1040606', - 'sent_from': [{ - 'name': u 'Martin Rusev', - 'email': '[email protected]' - }], - 'sent_to': [{ - 'name': u 'John Doe', - 'email': '[email protected]' - }], - 'subject': u 'Hello John, How are you today' - } - ``` + with Imbox('imap.gmail.com', + username='username', + password='password', + ssl=True, + ssl_context=None) as imbox: + + # Gets all messages + all_messages = imbox.messages() + + # Unread messages + unread_messages = imbox.messages(unread=True) + + # Messages sent FROM + messages_from = imbox.messages(sent_from='[email protected]') + + # Messages sent TO + messages_from = imbox.messages(sent_to='[email protected]') + + # Messages received before specific date + messages_from = imbox.messages(date__lt='31-July-2013') + + # Messages received after specific date + messages_from = imbox.messages(date__gt='30-July-2013') + + # Messages from a specific folder + messages_folder = imbox.messages(folder='Social') + + + + for uid, message in all_messages: + # Every message is an object with the following keys + + message.sent_from + message.sent_to + message.subject + message.headers + message.message_id + message.date + message.body.plain + message.body.html + message.attachments + + # To check all available keys + print(message.keys()) + + + # To check the whole object, just write + + print(message) + + { + 'headers': + [{ + 'Name': 'Received-SPF', + 'Value': 'pass (google.com: domain of ......;' + }, + { + 'Name': 'MIME-Version', + 'Value': '1.0' + }], + 'body': { + 'plain': ['ASCII'], + 'html': ['HTML BODY'] + }, + 'attachments': [{ + 'content': <StringIO.StringIO instance at 0x7f8e8445fa70>, + 'filename': "avatar.png", + 'content-type': 'image/png', + 'size': 80264 + }], + 'date': u 'Fri, 26 Jul 2013 10:56:26 +0300', + 'message_id': u '51F22BAA.1040606', + 'sent_from': [{ + 'name': u 'Martin Rusev', + 'email': '[email protected]' + }], + 'sent_to': [{ + 'name': u 'John Doe', + 'email': '[email protected]' + }], + 'subject': u 'Hello John, How are you today' + } - # [Changelog](https://github.com/martinrusev/imbox/blob/master/CHANGELOG.md) + `Changelog <https://github.com/martinrusev/imbox/blob/master/CHANGELOG.md>`_ Keywords: email,IMAP,parsing emails Platform: UNKNOWN Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3.2 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/imbox.egg-info/SOURCES.txt new/imbox-0.9/imbox.egg-info/SOURCES.txt --- old/imbox-0.8.5/imbox.egg-info/SOURCES.txt 2016-06-08 08:38:41.000000000 +0200 +++ new/imbox-0.9/imbox.egg-info/SOURCES.txt 2017-09-18 10:19:54.000000000 +0200 @@ -1,6 +1,6 @@ LICENSE MANIFEST.in -README.md +README.rst setup.py imbox/__init__.py imbox/imap.py @@ -12,5 +12,4 @@ imbox.egg-info/dependency_links.txt imbox.egg-info/not-zip-safe imbox.egg-info/pbr.json -imbox.egg-info/requires.txt imbox.egg-info/top_level.txt \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/imbox.egg-info/requires.txt new/imbox-0.9/imbox.egg-info/requires.txt --- old/imbox-0.8.5/imbox.egg-info/requires.txt 2016-06-08 08:38:40.000000000 +0200 +++ new/imbox-0.9/imbox.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -six diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/setup.cfg new/imbox-0.9/setup.cfg --- old/imbox-0.8.5/setup.cfg 2016-06-08 08:38:41.000000000 +0200 +++ new/imbox-0.9/setup.cfg 2017-09-18 10:19:54.000000000 +0200 @@ -1,5 +1,5 @@ [egg_info] +tag_svn_revision = 0 tag_build = tag_date = 0 -tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imbox-0.8.5/setup.py new/imbox-0.9/setup.py --- old/imbox-0.8.5/setup.py 2016-06-08 08:38:20.000000000 +0200 +++ new/imbox-0.9/setup.py 2017-09-18 10:13:35.000000000 +0200 @@ -1,7 +1,7 @@ from setuptools import setup import os -version = '0.8.5' +version = '0.9' def read(filename): @@ -11,7 +11,7 @@ name='imbox', version=version, description="Python IMAP for Human beings", - long_description=read('README.md'), + long_description=read('README.rst'), keywords='email, IMAP, parsing emails', author='Martin Rusev', author_email='[email protected]', @@ -20,13 +20,12 @@ packages=['imbox'], package_dir={'imbox': 'imbox'}, zip_safe=False, - install_requires=['six'], classifiers=( 'Programming Language :: Python', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.2', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6' ), )
