[MIG] fetchmail_incoming_log: Migration to 13.0

pull/1820/head
mreficent 2020-04-21 17:37:46 +02:00
parent 6772399715
commit 637049ed27
8 changed files with 41 additions and 66 deletions

View File

@ -14,16 +14,16 @@ Fetchmail Incoming Log
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
:target: https://github.com/OCA/server-tools/tree/12.0/fetchmail_incoming_log :target: https://github.com/OCA/server-tools/tree/13.0/fetchmail_incoming_log
:alt: OCA/server-tools :alt: OCA/server-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-fetchmail_incoming_log :target: https://translation.odoo-community.org/projects/server-tools-13-0/server-tools-13-0-fetchmail_incoming_log
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/149/12.0 :target: https://runbot.odoo-community.org/runbot/149/13.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
This module allows to log into the server the basic information of emails This module allows to log into the server the basic information of emails
that have been fetched from the mail server, before they start to be processed. that have been fetched from the mail server, before they start to be processed.
@ -44,7 +44,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20fetchmail_incoming_log%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. `feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20fetchmail_incoming_log%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@ -54,13 +54,13 @@ Credits
Authors Authors
~~~~~~~ ~~~~~~~
* Eficent * ForgeFlow
Contributors Contributors
~~~~~~~~~~~~ ~~~~~~~~~~~~
* Jordi Ballester <jordi.ballester@eficent.com> * Jordi Ballester <jordi.ballester@forgeflow.com>
* Héctor Villarreal <hector.villarreal@eficent.com> * Héctor Villarreal <hector.villarreal@forgeflow.com>
Maintainers Maintainers
~~~~~~~~~~~ ~~~~~~~~~~~
@ -75,6 +75,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/12.0/fetchmail_incoming_log>`_ project on GitHub. This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/13.0/fetchmail_incoming_log>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -1,14 +1,14 @@
# © 2017 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # Copyright 2017-20 ForgeFlow S.L. (www.forgeflow.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{ {
"name": "Fetchmail Incoming Log", "name": "Fetchmail Incoming Log",
"version": "12.0.1.0.0", "version": "13.0.1.0.0",
"category": "Tools", "category": "Tools",
"summary": "Log all messages received, before they start to be processed.", "summary": "Log all messages received, before they start to be processed.",
"author": "Eficent, " "Odoo Community Association (OCA)", "author": "ForgeFlow, Odoo Community Association (OCA)",
"license": "AGPL-3", "license": "AGPL-3",
"website": "https://github.com/OCA/server-tools", "website": "https://github.com/OCA/server-tools",
"depends": ["mail", "test_mail",], "depends": ["mail", "test_mail"],
"installable": True, "installable": True,
} }

View File

@ -4,7 +4,7 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 12.0\n" "Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"

View File

@ -1,20 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_log_message_to_process
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: mail_log_message_to_process
#: model:ir.model,name:mail_log_message_to_process.model_mail_thread
msgid "Email Thread"
msgstr ""

View File

@ -1,5 +1,4 @@
# Copyright 2017-18 Eficent Business and IT Consulting Services S.L. # Copyright 2017-20 ForgeFlow S.L. (www.forgeflow.com)
# (www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
import email import email
@ -7,7 +6,6 @@ import logging
import xmlrpc.client as xmlrpclib import xmlrpc.client as xmlrpclib
from odoo import api, models from odoo import api, models
from odoo.tools import pycompat
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
@ -25,29 +23,23 @@ class MailThread(models.AbstractModel):
strip_attachments=False, strip_attachments=False,
thread_id=None, thread_id=None,
): ):
message_copy = message
if isinstance(message, xmlrpclib.Binary): if isinstance(message, xmlrpclib.Binary):
message = bytes(message.data) message = bytes(message.data)
# message_from_string parses from a *native string*, except if isinstance(message, str):
# apparently sometimes message is ISO-8859-1 binary data or some
# shit and the straightforward version (pycompat.to_native) won't
# work right -> always encode message to bytes then use the
# relevant method depending on ~python version
if isinstance(message, pycompat.text_type):
message = message.encode("utf-8") message = message.encode("utf-8")
extract = getattr(email, "message_from_bytes", email.message_from_string) message = email.message_from_bytes(message)
msg_txt = extract(message) msg_dict = self.message_parse(message, save_original=save_original)
msg = self.message_parse(msg_txt)
_logger.info( _logger.info(
"Fetched mail from %s to %s with Message-Id %s", "Fetched mail from %s to %s with Message-Id %s",
msg.get("from"), msg_dict.get("from"),
msg.get("to"), msg_dict.get("to"),
msg.get("message_id"), msg_dict.get("message_id"),
) )
return super(MailThread, self).message_process( return super(MailThread, self).message_process(
model, model,
message, message_copy,
custom_values=custom_values, custom_values=custom_values,
save_original=save_original, save_original=save_original,
strip_attachments=strip_attachments, strip_attachments=strip_attachments,

View File

@ -1,2 +1,2 @@
* Jordi Ballester <jordi.ballester@eficent.com> * Jordi Ballester <jordi.ballester@forgeflow.com>
* Héctor Villarreal <hector.villarreal@eficent.com> * Héctor Villarreal <hector.villarreal@forgeflow.com>

View File

@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-tools/tree/12.0/fetchmail_incoming_log"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-fetchmail_incoming_log"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/149/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-tools/tree/13.0/fetchmail_incoming_log"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-tools-13-0/server-tools-13-0-fetchmail_incoming_log"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/149/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module allows to log into the server the basic information of emails <p>This module allows to log into the server the basic information of emails
that have been fetched from the mail server, before they start to be processed.</p> that have been fetched from the mail server, before they start to be processed.</p>
<p>This allows for a better analysis of situations where emails are found to be <p>This allows for a better analysis of situations where emails are found to be
@ -391,7 +391,7 @@ Odoo?.</p>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20fetchmail_incoming_log%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20fetchmail_incoming_log%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@ -399,14 +399,14 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<div class="section" id="authors"> <div class="section" id="authors">
<h2><a class="toc-backref" href="#id3">Authors</a></h2> <h2><a class="toc-backref" href="#id3">Authors</a></h2>
<ul class="simple"> <ul class="simple">
<li>Eficent</li> <li>ForgeFlow</li>
</ul> </ul>
</div> </div>
<div class="section" id="contributors"> <div class="section" id="contributors">
<h2><a class="toc-backref" href="#id4">Contributors</a></h2> <h2><a class="toc-backref" href="#id4">Contributors</a></h2>
<ul class="simple"> <ul class="simple">
<li>Jordi Ballester &lt;<a class="reference external" href="mailto:jordi.ballester&#64;eficent.com">jordi.ballester&#64;eficent.com</a>&gt;</li> <li>Jordi Ballester &lt;<a class="reference external" href="mailto:jordi.ballester&#64;forgeflow.com">jordi.ballester&#64;forgeflow.com</a>&gt;</li>
<li>Héctor Villarreal &lt;<a class="reference external" href="mailto:hector.villarreal&#64;eficent.com">hector.villarreal&#64;eficent.com</a>&gt;</li> <li>Héctor Villarreal &lt;<a class="reference external" href="mailto:hector.villarreal&#64;forgeflow.com">hector.villarreal&#64;forgeflow.com</a>&gt;</li>
</ul> </ul>
</div> </div>
<div class="section" id="maintainers"> <div class="section" id="maintainers">
@ -416,7 +416,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/12.0/fetchmail_incoming_log">OCA/server-tools</a> project on GitHub.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/13.0/fetchmail_incoming_log">OCA/server-tools</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

View File

@ -1,18 +1,21 @@
# Copyright 2017-18 Eficent Business and IT Consulting Services S.L. # Copyright 2017-20 ForgeFlow S.L. (www.forgeflow.com)
# (www.eficent.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import tagged
from odoo.addons.test_mail.data.test_mail_data import MAIL_TEMPLATE from odoo.addons.test_mail.data.test_mail_data import MAIL_TEMPLATE
from odoo.addons.test_mail.tests.test_mail_gateway import TestMailgateway from odoo.addons.test_mail.tests.test_mail_gateway import TestMailgateway
@tagged("mail_gateway")
class TestFetchmailIncomingLog(TestMailgateway): class TestFetchmailIncomingLog(TestMailgateway):
def setUp(self): @classmethod
super(TestFetchmailIncomingLog, self).setUp() def setUpClass(cls):
super(TestFetchmailIncomingLog, cls).setUpClass()
self.fetchmail_server = self.env["fetchmail.server"].create( cls.fetchmail_server = cls.env["fetchmail.server"].create(
{"name": "Test Fetchmail Server", "type": "imap",} {"name": "Test Fetchmail Server", "server_type": "imap"}
) )
def test_message_process(self): def test_message_process(self):
@ -29,5 +32,5 @@ class TestFetchmailIncomingLog(TestMailgateway):
msg_id=msg_id, msg_id=msg_id,
) )
self.env["mail.thread"].with_context( self.env["mail.thread"].with_context(
{"fetchmail_server_id": self.fetchmail_server.id,} {"fetchmail_server_id": self.fetchmail_server.id}
).message_process(None, mail) ).message_process(None, mail)