From 4293c523651b979c47a562a48312b78ffa42f112 Mon Sep 17 00:00:00 2001 From: hveficent Date: Thu, 2 Apr 2020 11:15:00 +0200 Subject: [PATCH] [IMP] mail_tracking_mailgun: black, isort --- .isort.cfg | 2 +- mail_tracking_mailgun/__manifest__.py | 14 +- mail_tracking_mailgun/i18n/am.po | 10 +- mail_tracking_mailgun/i18n/ar.po | 10 +- mail_tracking_mailgun/i18n/bg.po | 10 +- mail_tracking_mailgun/i18n/bs.po | 10 +- mail_tracking_mailgun/i18n/ca.po | 10 +- mail_tracking_mailgun/i18n/cs.po | 10 +- mail_tracking_mailgun/i18n/da.po | 10 +- mail_tracking_mailgun/i18n/de.po | 10 +- mail_tracking_mailgun/i18n/el_GR.po | 10 +- mail_tracking_mailgun/i18n/en_GB.po | 10 +- mail_tracking_mailgun/i18n/es.po | 10 +- mail_tracking_mailgun/i18n/es_CR.po | 10 +- mail_tracking_mailgun/i18n/es_EC.po | 10 +- mail_tracking_mailgun/i18n/es_MX.po | 10 +- mail_tracking_mailgun/i18n/es_VE.po | 10 +- mail_tracking_mailgun/i18n/et.po | 10 +- mail_tracking_mailgun/i18n/eu.po | 10 +- mail_tracking_mailgun/i18n/fi.po | 10 +- mail_tracking_mailgun/i18n/fr.po | 10 +- mail_tracking_mailgun/i18n/fr_CA.po | 10 +- mail_tracking_mailgun/i18n/fr_CH.po | 10 +- mail_tracking_mailgun/i18n/gl.po | 10 +- mail_tracking_mailgun/i18n/hr.po | 10 +- mail_tracking_mailgun/i18n/hr_HR.po | 10 +- mail_tracking_mailgun/i18n/hu.po | 10 +- mail_tracking_mailgun/i18n/it.po | 10 +- mail_tracking_mailgun/i18n/ja.po | 10 +- mail_tracking_mailgun/i18n/lt.po | 10 +- mail_tracking_mailgun/i18n/lv.po | 10 +- .../i18n/mail_tracking_mailgun.pot | 10 +- mail_tracking_mailgun/i18n/mk.po | 10 +- mail_tracking_mailgun/i18n/mn.po | 10 +- mail_tracking_mailgun/i18n/nb.po | 10 +- mail_tracking_mailgun/i18n/nb_NO.po | 10 +- mail_tracking_mailgun/i18n/nl.po | 10 +- mail_tracking_mailgun/i18n/nl_BE.po | 10 +- mail_tracking_mailgun/i18n/nl_NL.po | 10 +- mail_tracking_mailgun/i18n/pl.po | 10 +- mail_tracking_mailgun/i18n/pt.po | 10 +- mail_tracking_mailgun/i18n/pt_BR.po | 10 +- mail_tracking_mailgun/i18n/pt_PT.po | 10 +- mail_tracking_mailgun/i18n/ro.po | 10 +- mail_tracking_mailgun/i18n/ru.po | 10 +- mail_tracking_mailgun/i18n/sk.po | 10 +- mail_tracking_mailgun/i18n/sl.po | 21 +- mail_tracking_mailgun/i18n/sr@latin.po | 10 +- mail_tracking_mailgun/i18n/sv.po | 10 +- mail_tracking_mailgun/i18n/th.po | 10 +- mail_tracking_mailgun/i18n/tr.po | 10 +- mail_tracking_mailgun/i18n/tr_TR.po | 10 +- mail_tracking_mailgun/i18n/vi.po | 10 +- mail_tracking_mailgun/i18n/zh_CN.po | 10 +- mail_tracking_mailgun/i18n/zh_TW.po | 10 +- .../models/ir_mail_server.py | 10 +- .../models/mail_tracking_email.py | 256 ++++----- .../models/mail_tracking_event.py | 13 +- mail_tracking_mailgun/models/res_partner.py | 151 ++++-- mail_tracking_mailgun/tests/test_mailgun.py | 505 +++++++++--------- 60 files changed, 773 insertions(+), 719 deletions(-) diff --git a/.isort.cfg b/.isort.cfg index 44a2d2123..65f5caba0 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -9,4 +9,4 @@ line_length=88 known_odoo=odoo known_odoo_addons=odoo.addons sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER -known_third_party=lxml,mock,psycopg2,setuptools,werkzeug +known_third_party=lxml,mock,psycopg2,requests,setuptools,werkzeug diff --git a/mail_tracking_mailgun/__manifest__.py b/mail_tracking_mailgun/__manifest__.py index bf7f93de2..1e4ddeed3 100644 --- a/mail_tracking_mailgun/__manifest__.py +++ b/mail_tracking_mailgun/__manifest__.py @@ -9,16 +9,10 @@ "version": "12.0.1.0.2", "category": "Social Network", "website": "https://github.com/OCA/social", - "author": "Tecnativa, " - "Odoo Community Association (OCA)", + "author": "Tecnativa, Odoo Community Association (OCA)", "license": "AGPL-3", "application": False, - 'installable': True, - "depends": [ - "mail_tracking", - ], - "data": [ - "views/res_partner.xml", - "views/mail_tracking_email.xml", - ] + "installable": True, + "depends": ["mail_tracking"], + "data": ["views/res_partner.xml", "views/mail_tracking_email.xml"], } diff --git a/mail_tracking_mailgun/i18n/am.po b/mail_tracking_mailgun/i18n/am.po index ed44b3fc5..ac7e1b510 100644 --- a/mail_tracking_mailgun/i18n/am.po +++ b/mail_tracking_mailgun/i18n/am.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/ar.po b/mail_tracking_mailgun/i18n/ar.po index df7ef0dba..3653c0b0f 100644 --- a/mail_tracking_mailgun/i18n/ar.po +++ b/mail_tracking_mailgun/i18n/ar.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/bg.po b/mail_tracking_mailgun/i18n/bg.po index d2e1a0ad8..c23346504 100644 --- a/mail_tracking_mailgun/i18n/bg.po +++ b/mail_tracking_mailgun/i18n/bg.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/bs.po b/mail_tracking_mailgun/i18n/bs.po index bf9536bbb..a93ccd5a3 100644 --- a/mail_tracking_mailgun/i18n/bs.po +++ b/mail_tracking_mailgun/i18n/bs.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/ca.po b/mail_tracking_mailgun/i18n/ca.po index 719188310..f8fafa567 100644 --- a/mail_tracking_mailgun/i18n/ca.po +++ b/mail_tracking_mailgun/i18n/ca.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/cs.po b/mail_tracking_mailgun/i18n/cs.po index 4f77209d1..582eb8e61 100644 --- a/mail_tracking_mailgun/i18n/cs.po +++ b/mail_tracking_mailgun/i18n/cs.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/da.po b/mail_tracking_mailgun/i18n/da.po index 53c3c704d..e737251ee 100644 --- a/mail_tracking_mailgun/i18n/da.po +++ b/mail_tracking_mailgun/i18n/da.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/de.po b/mail_tracking_mailgun/i18n/de.po index 23b0d1397..8a1fee28a 100644 --- a/mail_tracking_mailgun/i18n/de.po +++ b/mail_tracking_mailgun/i18n/de.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/el_GR.po b/mail_tracking_mailgun/i18n/el_GR.po index 07a62e650..279ae1559 100644 --- a/mail_tracking_mailgun/i18n/el_GR.po +++ b/mail_tracking_mailgun/i18n/el_GR.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/en_GB.po b/mail_tracking_mailgun/i18n/en_GB.po index e46e5ae44..1feae2330 100644 --- a/mail_tracking_mailgun/i18n/en_GB.po +++ b/mail_tracking_mailgun/i18n/en_GB.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/es.po b/mail_tracking_mailgun/i18n/es.po index 7e35f2a82..0473a0e1f 100644 --- a/mail_tracking_mailgun/i18n/es.po +++ b/mail_tracking_mailgun/i18n/es.po @@ -49,7 +49,7 @@ msgstr "" "prevenir problemas con los envíos" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "¡Se necesita un valor de dominio para Mailgun!\"" @@ -70,7 +70,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "No se ha podido obtener información desde Mailgun" @@ -94,7 +94,7 @@ msgid "Error %s trying to check mailof connection" msgstr "Error %s al intentar comprobar el correo electrónicodeconexión" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "La información del evento ha caducado" @@ -143,13 +143,13 @@ msgid "Set Bounced" msgstr "Marcar como rebotado" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "¡No hay clave de API de Mailgun!" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/es_CR.po b/mail_tracking_mailgun/i18n/es_CR.po index db86404b5..5b67955d4 100644 --- a/mail_tracking_mailgun/i18n/es_CR.po +++ b/mail_tracking_mailgun/i18n/es_CR.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/es_EC.po b/mail_tracking_mailgun/i18n/es_EC.po index 33a63ed2f..cf238fe21 100644 --- a/mail_tracking_mailgun/i18n/es_EC.po +++ b/mail_tracking_mailgun/i18n/es_EC.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/es_MX.po b/mail_tracking_mailgun/i18n/es_MX.po index c4dba982c..96a548f8f 100644 --- a/mail_tracking_mailgun/i18n/es_MX.po +++ b/mail_tracking_mailgun/i18n/es_MX.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/es_VE.po b/mail_tracking_mailgun/i18n/es_VE.po index f7f437e98..348eb23f1 100644 --- a/mail_tracking_mailgun/i18n/es_VE.po +++ b/mail_tracking_mailgun/i18n/es_VE.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/et.po b/mail_tracking_mailgun/i18n/et.po index fa20e0f24..f9ae06ce8 100644 --- a/mail_tracking_mailgun/i18n/et.po +++ b/mail_tracking_mailgun/i18n/et.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/eu.po b/mail_tracking_mailgun/i18n/eu.po index 276c1376a..6191b24d3 100644 --- a/mail_tracking_mailgun/i18n/eu.po +++ b/mail_tracking_mailgun/i18n/eu.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/fi.po b/mail_tracking_mailgun/i18n/fi.po index 6dfde6297..72f58b101 100644 --- a/mail_tracking_mailgun/i18n/fi.po +++ b/mail_tracking_mailgun/i18n/fi.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/fr.po b/mail_tracking_mailgun/i18n/fr.po index d6a659002..a31aebe75 100644 --- a/mail_tracking_mailgun/i18n/fr.po +++ b/mail_tracking_mailgun/i18n/fr.po @@ -48,7 +48,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -69,7 +69,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -90,7 +90,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -137,13 +137,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/fr_CA.po b/mail_tracking_mailgun/i18n/fr_CA.po index ee573811c..3b95767ee 100644 --- a/mail_tracking_mailgun/i18n/fr_CA.po +++ b/mail_tracking_mailgun/i18n/fr_CA.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/fr_CH.po b/mail_tracking_mailgun/i18n/fr_CH.po index b592973c2..5b2aa9515 100644 --- a/mail_tracking_mailgun/i18n/fr_CH.po +++ b/mail_tracking_mailgun/i18n/fr_CH.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/gl.po b/mail_tracking_mailgun/i18n/gl.po index d4cfb1cd8..88ebb7d2a 100644 --- a/mail_tracking_mailgun/i18n/gl.po +++ b/mail_tracking_mailgun/i18n/gl.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/hr.po b/mail_tracking_mailgun/i18n/hr.po index 75d862369..5ca990304 100644 --- a/mail_tracking_mailgun/i18n/hr.po +++ b/mail_tracking_mailgun/i18n/hr.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -135,13 +135,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/hr_HR.po b/mail_tracking_mailgun/i18n/hr_HR.po index 399c86f93..071668c6b 100644 --- a/mail_tracking_mailgun/i18n/hr_HR.po +++ b/mail_tracking_mailgun/i18n/hr_HR.po @@ -45,7 +45,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -66,7 +66,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -87,7 +87,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -134,13 +134,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/hu.po b/mail_tracking_mailgun/i18n/hu.po index 5bf6f8db9..e4b7d22b7 100644 --- a/mail_tracking_mailgun/i18n/hu.po +++ b/mail_tracking_mailgun/i18n/hu.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/it.po b/mail_tracking_mailgun/i18n/it.po index f163384b7..d8b9f088e 100644 --- a/mail_tracking_mailgun/i18n/it.po +++ b/mail_tracking_mailgun/i18n/it.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -135,13 +135,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/ja.po b/mail_tracking_mailgun/i18n/ja.po index 066f5e6b6..8308999bb 100644 --- a/mail_tracking_mailgun/i18n/ja.po +++ b/mail_tracking_mailgun/i18n/ja.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/lt.po b/mail_tracking_mailgun/i18n/lt.po index 49b9599f0..8f5b75b9f 100644 --- a/mail_tracking_mailgun/i18n/lt.po +++ b/mail_tracking_mailgun/i18n/lt.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/lv.po b/mail_tracking_mailgun/i18n/lv.po index 48f974b7a..6740c8ad2 100644 --- a/mail_tracking_mailgun/i18n/lv.po +++ b/mail_tracking_mailgun/i18n/lv.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/mail_tracking_mailgun.pot b/mail_tracking_mailgun/i18n/mail_tracking_mailgun.pot index f5a54bbd4..3afc25971 100644 --- a/mail_tracking_mailgun/i18n/mail_tracking_mailgun.pot +++ b/mail_tracking_mailgun/i18n/mail_tracking_mailgun.pot @@ -32,7 +32,7 @@ msgid "%s is not a valid email address. Please check it in order to avoid sendin msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -53,7 +53,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -73,7 +73,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -120,13 +120,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/mk.po b/mail_tracking_mailgun/i18n/mk.po index 9a3dcd304..0d05e55db 100644 --- a/mail_tracking_mailgun/i18n/mk.po +++ b/mail_tracking_mailgun/i18n/mk.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/mn.po b/mail_tracking_mailgun/i18n/mn.po index 370c1228b..cc7453e96 100644 --- a/mail_tracking_mailgun/i18n/mn.po +++ b/mail_tracking_mailgun/i18n/mn.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/nb.po b/mail_tracking_mailgun/i18n/nb.po index 12120a095..ec3665996 100644 --- a/mail_tracking_mailgun/i18n/nb.po +++ b/mail_tracking_mailgun/i18n/nb.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/nb_NO.po b/mail_tracking_mailgun/i18n/nb_NO.po index 3fec6facd..fbffbd9b8 100644 --- a/mail_tracking_mailgun/i18n/nb_NO.po +++ b/mail_tracking_mailgun/i18n/nb_NO.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/nl.po b/mail_tracking_mailgun/i18n/nl.po index eb2b95f78..fa1b2747e 100644 --- a/mail_tracking_mailgun/i18n/nl.po +++ b/mail_tracking_mailgun/i18n/nl.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/nl_BE.po b/mail_tracking_mailgun/i18n/nl_BE.po index 59ddea400..d0a6809ff 100644 --- a/mail_tracking_mailgun/i18n/nl_BE.po +++ b/mail_tracking_mailgun/i18n/nl_BE.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/nl_NL.po b/mail_tracking_mailgun/i18n/nl_NL.po index ac914803f..3fdd040ce 100644 --- a/mail_tracking_mailgun/i18n/nl_NL.po +++ b/mail_tracking_mailgun/i18n/nl_NL.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -135,13 +135,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/pl.po b/mail_tracking_mailgun/i18n/pl.po index b42fb3a05..d135fc22c 100644 --- a/mail_tracking_mailgun/i18n/pl.po +++ b/mail_tracking_mailgun/i18n/pl.po @@ -45,7 +45,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -66,7 +66,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -87,7 +87,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -134,13 +134,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/pt.po b/mail_tracking_mailgun/i18n/pt.po index fa0a03666..f4045e2b4 100644 --- a/mail_tracking_mailgun/i18n/pt.po +++ b/mail_tracking_mailgun/i18n/pt.po @@ -51,7 +51,7 @@ msgstr "" "evitar problemas de envio" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "É necessário um valor no domínio do Mailgun!" @@ -72,7 +72,7 @@ msgid "Contact" msgstr "Contacto" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "Não foi possível obter informação do Mailgun" @@ -96,7 +96,7 @@ msgid "Error %s trying to check mailof connection" msgstr "Erro %s ao tentar verificar o mailof da conexão" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "A informação do evento já não está armazenada" @@ -144,13 +144,13 @@ msgid "Set Bounced" msgstr "Marcar como Devolvido" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "Não há chave de API do Mailgun!" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "Não há mensagem rastreada!" diff --git a/mail_tracking_mailgun/i18n/pt_BR.po b/mail_tracking_mailgun/i18n/pt_BR.po index 7a19ac2bf..9c3d6fd72 100644 --- a/mail_tracking_mailgun/i18n/pt_BR.po +++ b/mail_tracking_mailgun/i18n/pt_BR.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/pt_PT.po b/mail_tracking_mailgun/i18n/pt_PT.po index ded75b9f2..3629488ab 100644 --- a/mail_tracking_mailgun/i18n/pt_PT.po +++ b/mail_tracking_mailgun/i18n/pt_PT.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/ro.po b/mail_tracking_mailgun/i18n/ro.po index c97b00e6e..b7066a507 100644 --- a/mail_tracking_mailgun/i18n/ro.po +++ b/mail_tracking_mailgun/i18n/ro.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/ru.po b/mail_tracking_mailgun/i18n/ru.po index 3ca9d9c71..b6e8cfb50 100644 --- a/mail_tracking_mailgun/i18n/ru.po +++ b/mail_tracking_mailgun/i18n/ru.po @@ -45,7 +45,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -66,7 +66,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -87,7 +87,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -134,13 +134,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/sk.po b/mail_tracking_mailgun/i18n/sk.po index 47558f1f7..61c2aaf67 100644 --- a/mail_tracking_mailgun/i18n/sk.po +++ b/mail_tracking_mailgun/i18n/sk.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/sl.po b/mail_tracking_mailgun/i18n/sl.po index e99014f8d..71af08cc1 100644 --- a/mail_tracking_mailgun/i18n/sl.po +++ b/mail_tracking_mailgun/i18n/sl.po @@ -9,16 +9,15 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-01 02:19+0000\n" -"PO-Revision-Date: 2020-03-30 22:13+0000\n" -"Last-Translator: Matjaz Mozetic \n" +"PO-Revision-Date: 2017-12-01 02:19+0000\n" +"Last-Translator: OCA Transbot , 2017\n" "Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " -"n%100==4 ? 2 : 3;\n" -"X-Generator: Weblate 3.10\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #. module: mail_tracking_mailgun #: code:addons/mail_tracking_mailgun/models/res_partner.py:92 @@ -45,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -63,10 +62,10 @@ msgstr "" #. module: mail_tracking_mailgun #: model:ir.model,name:mail_tracking_mailgun.model_res_partner msgid "Contact" -msgstr "Stik" +msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -87,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -134,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/sr@latin.po b/mail_tracking_mailgun/i18n/sr@latin.po index c92f60343..7c4ef44f0 100644 --- a/mail_tracking_mailgun/i18n/sr@latin.po +++ b/mail_tracking_mailgun/i18n/sr@latin.po @@ -45,7 +45,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -66,7 +66,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -87,7 +87,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -134,13 +134,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/sv.po b/mail_tracking_mailgun/i18n/sv.po index 9438ba9c1..00c93336e 100644 --- a/mail_tracking_mailgun/i18n/sv.po +++ b/mail_tracking_mailgun/i18n/sv.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/th.po b/mail_tracking_mailgun/i18n/th.po index 8c5466286..568abe9b8 100644 --- a/mail_tracking_mailgun/i18n/th.po +++ b/mail_tracking_mailgun/i18n/th.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/tr.po b/mail_tracking_mailgun/i18n/tr.po index 0151a2ab9..62499ac63 100644 --- a/mail_tracking_mailgun/i18n/tr.po +++ b/mail_tracking_mailgun/i18n/tr.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/tr_TR.po b/mail_tracking_mailgun/i18n/tr_TR.po index 994196990..81a9d8d04 100644 --- a/mail_tracking_mailgun/i18n/tr_TR.po +++ b/mail_tracking_mailgun/i18n/tr_TR.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/vi.po b/mail_tracking_mailgun/i18n/vi.po index cfb254d24..b60f8237a 100644 --- a/mail_tracking_mailgun/i18n/vi.po +++ b/mail_tracking_mailgun/i18n/vi.po @@ -43,7 +43,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -64,7 +64,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -85,7 +85,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -132,13 +132,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/zh_CN.po b/mail_tracking_mailgun/i18n/zh_CN.po index 3a249b80d..2e561017f 100644 --- a/mail_tracking_mailgun/i18n/zh_CN.po +++ b/mail_tracking_mailgun/i18n/zh_CN.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/i18n/zh_TW.po b/mail_tracking_mailgun/i18n/zh_TW.po index b1dc28248..30b63e44d 100644 --- a/mail_tracking_mailgun/i18n/zh_TW.po +++ b/mail_tracking_mailgun/i18n/zh_TW.po @@ -44,7 +44,7 @@ msgid "" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:77 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:75 #, python-format msgid "A Mailgun domain value is needed!" msgstr "" @@ -65,7 +65,7 @@ msgid "Contact" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:241 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:239 #, python-format msgid "Couldn't retrieve Mailgun information" msgstr "" @@ -86,7 +86,7 @@ msgid "Error %s trying to check mailof connection" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:245 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:243 #, python-format msgid "Event information not longer stored" msgstr "" @@ -133,13 +133,13 @@ msgid "Set Bounced" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:71 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:69 #, python-format msgid "There is no Mailgun API key!" msgstr "" #. module: mail_tracking_mailgun -#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:228 +#: code:addons/mail_tracking_mailgun/models/mail_tracking_email.py:226 #, python-format msgid "There is no tracked message!" msgstr "" diff --git a/mail_tracking_mailgun/models/ir_mail_server.py b/mail_tracking_mailgun/models/ir_mail_server.py index c1e73b61b..9ea3f8f8f 100644 --- a/mail_tracking_mailgun/models/ir_mail_server.py +++ b/mail_tracking_mailgun/models/ir_mail_server.py @@ -2,6 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import json + from odoo import models @@ -10,11 +11,12 @@ class IrMailServer(models.Model): def _tracking_headers_add(self, tracking_email_id, headers): headers = super(IrMailServer, self)._tracking_headers_add( - tracking_email_id, headers) + tracking_email_id, headers + ) headers = headers or {} metadata = { - 'odoo_db': self.env.cr.dbname, - 'tracking_email_id': tracking_email_id, + "odoo_db": self.env.cr.dbname, + "tracking_email_id": tracking_email_id, } - headers['X-Mailgun-Variables'] = json.dumps(metadata) + headers["X-Mailgun-Variables"] = json.dumps(metadata) return headers diff --git a/mail_tracking_mailgun/models/mail_tracking_email.py b/mail_tracking_mailgun/models/mail_tracking_email.py index 77ec2db05..161b32016 100644 --- a/mail_tracking_mailgun/models/mail_tracking_email.py +++ b/mail_tracking_mailgun/models/mail_tracking_email.py @@ -4,13 +4,15 @@ import hashlib import hmac -import requests +import logging from datetime import datetime + +import requests + from odoo import _, api, fields, models from odoo.exceptions import UserError, ValidationError from odoo.tools import email_split -import logging _logger = logging.getLogger(__name__) @@ -20,159 +22,174 @@ class MailTrackingEmail(models.Model): def _country_search(self, country_code): country = False if country_code: - country = self.env['res.country'].search([ - ('code', '=', country_code.upper()), - ]) + country = self.env["res.country"].search( + [("code", "=", country_code.upper())] + ) if country: return country.id return False @property def _mailgun_mandatory_fields(self): - return ('event', 'timestamp', 'token', 'signature', - 'tracking_email_id', 'odoo_db') + return ( + "event", + "timestamp", + "token", + "signature", + "tracking_email_id", + "odoo_db", + ) @property def _mailgun_event_type_mapping(self): return { # Mailgun event type: tracking event type - 'delivered': 'delivered', - 'opened': 'open', - 'clicked': 'click', - 'unsubscribed': 'unsub', - 'complained': 'spam', - 'bounced': 'hard_bounce', - 'dropped': 'reject', - 'accepted': 'sent', - 'failed': 'error', - 'rejected': 'error', + "delivered": "delivered", + "opened": "open", + "clicked": "click", + "unsubscribed": "unsub", + "complained": "spam", + "bounced": "hard_bounce", + "dropped": "reject", + "accepted": "sent", + "failed": "error", + "rejected": "error", } def _mailgun_event_type_verify(self, event): event = event or {} - mailgun_event_type = event.get('event') + mailgun_event_type = event.get("event") if mailgun_event_type not in self._mailgun_event_type_mapping: - _logger.error("Mailgun: event type '%s' not supported", - mailgun_event_type) + _logger.error("Mailgun: event type '%s' not supported", mailgun_event_type) return False # OK, event type is valid return True def _mailgun_signature(self, api_key, timestamp, token): return hmac.new( - key=bytes(api_key, 'utf-8'), - msg=bytes('{}{}'.format(str(timestamp), str(token)), 'utf-8'), - digestmod=hashlib.sha256).hexdigest() + key=bytes(api_key, "utf-8"), + msg=bytes("{}{}".format(str(timestamp), str(token)), "utf-8"), + digestmod=hashlib.sha256, + ).hexdigest() def _mailgun_values(self): - icp = self.env['ir.config_parameter'].sudo() - api_key = icp.get_param('mailgun.apikey') + icp = self.env["ir.config_parameter"].sudo() + api_key = icp.get_param("mailgun.apikey") if not api_key: - raise ValidationError(_('There is no Mailgun API key!')) - api_url = icp.get_param( - 'mailgun.api_url', 'https://api.mailgun.net/v3') - catchall_domain = icp.get_param('mail.catchall.domain') - domain = icp.get_param('mailgun.domain', catchall_domain) + raise ValidationError(_("There is no Mailgun API key!")) + api_url = icp.get_param("mailgun.api_url", "https://api.mailgun.net/v3") + catchall_domain = icp.get_param("mail.catchall.domain") + domain = icp.get_param("mailgun.domain", catchall_domain) if not domain: - raise ValidationError(_('A Mailgun domain value is needed!')) - validation_key = icp.get_param('mailgun.validation_key') + raise ValidationError(_("A Mailgun domain value is needed!")) + validation_key = icp.get_param("mailgun.validation_key") return api_key, api_url, domain, validation_key def _mailgun_signature_verify(self, event): event = event or {} - icp = self.env['ir.config_parameter'].sudo() - api_key = icp.get_param('mailgun.apikey') + icp = self.env["ir.config_parameter"].sudo() + api_key = icp.get_param("mailgun.apikey") if not api_key: - _logger.warning("No Mailgun api key configured. " - "Please add 'mailgun.apikey' to System parameters " - "to enable Mailgun authentication webhoook " - "requests. More info at: " - "https://documentation.mailgun.com/" - "user_manual.html#webhooks") + _logger.warning( + "No Mailgun api key configured. " + "Please add 'mailgun.apikey' to System parameters " + "to enable Mailgun authentication webhoook " + "requests. More info at: " + "https://documentation.mailgun.com/" + "user_manual.html#webhooks" + ) else: - timestamp = event.get('timestamp') - token = event.get('token') - signature = event.get('signature') + timestamp = event.get("timestamp") + token = event.get("token") + signature = event.get("signature") event_digest = self._mailgun_signature(api_key, timestamp, token) if signature != event_digest: - _logger.error("Mailgun: Invalid signature '%s' != '%s'", - signature, event_digest) + _logger.error( + "Mailgun: Invalid signature '%s' != '%s'", signature, event_digest + ) return False # OK, signature is valid return True def _db_verify(self, event): event = event or {} - odoo_db = event.get('odoo_db') + odoo_db = event.get("odoo_db") current_db = self.env.cr.dbname if odoo_db != current_db: - _logger.error("Mailgun: Database '%s' is not the current database", - odoo_db) + _logger.error("Mailgun: Database '%s' is not the current database", odoo_db) return False # OK, DB is current return True def _mailgun_metadata(self, mailgun_event_type, event, metadata): # Get Mailgun timestamp when found - ts = event.get('timestamp', False) + ts = event.get("timestamp", False) try: ts = float(ts) except Exception: ts = False if ts: dt = datetime.utcfromtimestamp(ts) - metadata.update({ - 'timestamp': ts, - 'time': fields.Datetime.to_string(dt), - 'date': fields.Date.to_string(dt), - 'mailgun_id': event.get('id', False) - }) + metadata.update( + { + "timestamp": ts, + "time": fields.Datetime.to_string(dt), + "date": fields.Date.to_string(dt), + "mailgun_id": event.get("id", False), + } + ) # Common field mapping mapping = { - 'recipient': 'recipient', - 'ip': 'ip', - 'user_agent': 'user-agent', - 'os_family': 'client-os', - 'ua_family': 'client-name', - 'ua_type': 'client-type', - 'url': 'url', + "recipient": "recipient", + "ip": "ip", + "user_agent": "user-agent", + "os_family": "client-os", + "ua_family": "client-name", + "ua_type": "client-type", + "url": "url", } for k, v in mapping.items(): if event.get(v, False): metadata[k] = event[v] # Special field mapping - metadata.update({ - 'mobile': event.get('device-type') in {'mobile', 'tablet'}, - 'user_country_id': self._country_search( - event.get('country', False)), - }) + metadata.update( + { + "mobile": event.get("device-type") in {"mobile", "tablet"}, + "user_country_id": self._country_search(event.get("country", False)), + } + ) # Mapping for special events - if mailgun_event_type == 'bounced': - metadata.update({ - 'error_type': event.get('code', False), - 'error_description': event.get('error', False), - 'error_details': event.get('notification', False), - }) - elif mailgun_event_type == 'dropped': - metadata.update({ - 'error_type': event.get('reason', False), - 'error_description': event.get('code', False), - 'error_details': event.get('description', False), - }) - elif mailgun_event_type == 'complained': - metadata.update({ - 'error_type': 'spam', - 'error_description': - "Recipient '%s' mark this email as spam" % - event.get('recipient', False), - }) + if mailgun_event_type == "bounced": + metadata.update( + { + "error_type": event.get("code", False), + "error_description": event.get("error", False), + "error_details": event.get("notification", False), + } + ) + elif mailgun_event_type == "dropped": + metadata.update( + { + "error_type": event.get("reason", False), + "error_description": event.get("code", False), + "error_details": event.get("description", False), + } + ) + elif mailgun_event_type == "complained": + metadata.update( + { + "error_type": "spam", + "error_description": "Recipient '%s' mark this email as spam" + % event.get("recipient", False), + } + ) return metadata def _mailgun_tracking_get(self, event): tracking = False - tracking_email_id = event.get('tracking_email_id', False) + tracking_email_id = event.get("tracking_email_id", False) if tracking_email_id and tracking_email_id.isdigit(): - tracking = self.search([('id', '=', tracking_email_id)], limit=1) + tracking = self.search([("id", "=", tracking_email_id)], limit=1) return tracking def _event_is_from_mailgun(self, event): @@ -182,35 +199,35 @@ class MailTrackingEmail(models.Model): @api.model def event_process(self, request, post, metadata, event_type=None): res = super(MailTrackingEmail, self).event_process( - request, post, metadata, event_type=event_type) - if res == 'NONE' and self._event_is_from_mailgun(post): + request, post, metadata, event_type=event_type + ) + if res == "NONE" and self._event_is_from_mailgun(post): if not self._mailgun_signature_verify(post): - res = 'ERROR: Signature' + res = "ERROR: Signature" elif not self._mailgun_event_type_verify(post): - res = 'ERROR: Event type not supported' + res = "ERROR: Event type not supported" elif not self._db_verify(post): - res = 'ERROR: Invalid DB' + res = "ERROR: Invalid DB" else: - res = 'OK' - if res == 'OK': - mailgun_event_type = post.get('event') - mapped_event_type = self._mailgun_event_type_mapping.get( - mailgun_event_type) or event_type + res = "OK" + if res == "OK": + mailgun_event_type = post.get("event") + mapped_event_type = ( + self._mailgun_event_type_mapping.get(mailgun_event_type) or event_type + ) if not mapped_event_type: # pragma: no cover - res = 'ERROR: Bad event' + res = "ERROR: Bad event" tracking = self._mailgun_tracking_get(post) if not tracking: - res = 'ERROR: Tracking not found' - if res == 'OK': + res = "ERROR: Tracking not found" + if res == "OK": # Complete metadata with mailgun event info - metadata = self._mailgun_metadata( - mailgun_event_type, post, metadata) + metadata = self._mailgun_metadata(mailgun_event_type, post, metadata) # Create event tracking.event_create(mapped_event_type, metadata) - if res != 'NONE': + if res != "NONE": if event_type: - _logger.info( - "Mailgun: event '%s' process '%s'", event_type, res) + _logger.info("Mailgun: event '%s' process '%s'", event_type, res) else: _logger.info("Mailgun: event process '%s'", res) return res @@ -225,21 +242,21 @@ class MailTrackingEmail(models.Model): api_key, api_url, domain, validation_key = self._mailgun_values() for tracking in self: if not tracking.mail_message_id: - raise UserError(_('There is no tracked message!')) - message_id = tracking.mail_message_id.message_id.replace( - "<", "").replace(">", "") + raise UserError(_("There is no tracked message!")) + message_id = tracking.mail_message_id.message_id.replace("<", "").replace( + ">", "" + ) res = requests.get( - '%s/%s/events' % (api_url, domain), + "{}/{}/events".format(api_url, domain), auth=("api", api_key), params={ "begin": tracking.timestamp, "ascending": "yes", "message-id": message_id, - } + }, ) if not res or res.status_code != 200: - raise ValidationError(_( - "Couldn't retrieve Mailgun information")) + raise ValidationError(_("Couldn't retrieve Mailgun information")) content = res.json() if "items" not in content: raise ValidationError(_("Event information not longer stored")) @@ -247,12 +264,11 @@ class MailTrackingEmail(models.Model): # mailgun event hasn't been synced and recipient is the same as # in the evaluated tracking. We use email_split since tracking # recipient could come in format: "example" - if not self.env['mail.tracking.event'].search( - [('mailgun_id', '=', item["id"])]) and ( - item.get("recipient", "") == - email_split(tracking.recipient)[0]): + if not self.env["mail.tracking.event"].search( + [("mailgun_id", "=", item["id"])] + ) and (item.get("recipient", "") == email_split(tracking.recipient)[0]): mapped_event_type = self._mailgun_event_type_mapping.get( - item["event"], item["event"]) - metadata = self._mailgun_metadata( - mapped_event_type, item, {}) + item["event"], item["event"] + ) + metadata = self._mailgun_metadata(mapped_event_type, item, {}) tracking.event_create(mapped_event_type, metadata) diff --git a/mail_tracking_mailgun/models/mail_tracking_event.py b/mail_tracking_mailgun/models/mail_tracking_event.py index 201b4ac4e..a16b81bb7 100644 --- a/mail_tracking_mailgun/models/mail_tracking_event.py +++ b/mail_tracking_mailgun/models/mail_tracking_event.py @@ -1,20 +1,17 @@ # Copyright 2017 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, fields +from odoo import fields, models class MailTrackingEvent(models.Model): _inherit = "mail.tracking.event" - mailgun_id = fields.Char( - string="Mailgun Event ID", - copy="False", - readonly=True, - ) + mailgun_id = fields.Char(string="Mailgun Event ID", copy="False", readonly=True) def _process_data(self, tracking_email, metadata, event_type, state): res = super(MailTrackingEvent, self)._process_data( - tracking_email, metadata, event_type, state) - res.update({'mailgun_id': metadata.get('mailgun_id', False)}) + tracking_email, metadata, event_type, state + ) + res.update({"mailgun_id": metadata.get("mailgun_id", False)}) return res diff --git a/mail_tracking_mailgun/models/res_partner.py b/mail_tracking_mailgun/models/res_partner.py index 45af140dc..bcea6b27e 100644 --- a/mail_tracking_mailgun/models/res_partner.py +++ b/mail_tracking_mailgun/models/res_partner.py @@ -11,12 +11,13 @@ from odoo.exceptions import UserError class ResPartner(models.Model): - _inherit = 'res.partner' + _inherit = "res.partner" @api.multi def email_bounced_set(self, tracking_emails, reason, event=None): res = super(ResPartner, self).email_bounced_set( - tracking_emails, reason, event=event) + tracking_emails, reason, event=event + ) self._email_bounced_set(reason, event) return res @@ -25,14 +26,19 @@ class ResPartner(models.Model): for partner in self: if not partner.email: continue - event = event or self.env['mail.tracking.event'] + event = event or self.env["mail.tracking.event"] event_str = """ %s - """ % (event.id or 0, event.id or _('unknown')) - body = _('Email has been bounced: %s\n' - 'Reason: %s\n' - 'Event: %s') % (partner.email, reason, event_str) + """ % ( + event.id or 0, + event.id or _("unknown"), + ) + body = _("Email has been bounced: %s\nReason: %s\nEvent: %s") % ( + partner.email, + reason, + event_str, + ) partner.message_post(body=body) @api.multi @@ -43,55 +49,82 @@ class ResPartner(models.Model): https://documentation.mailgun.com/en/latest/api-email-validation.html """ api_key, api_url, domain, validation_key = self.env[ - 'mail.tracking.email']._mailgun_values() + "mail.tracking.email" + ]._mailgun_values() if not validation_key: - raise UserError(_('You need to configure mailgun.validation_key' - ' in order to be able to check mails validity')) - for partner in self.filtered('email'): + raise UserError( + _( + "You need to configure mailgun.validation_key" + " in order to be able to check mails validity" + ) + ) + for partner in self.filtered("email"): res = requests.get( # Validation API url is always the same - 'https://api.mailgun.net/v3/address/validate', - auth=("api", validation_key), params={ - "address": partner.email, - "mailbox_verification": True, - }) - if not res or res.status_code != 200 and not self.env.context.get( - 'mailgun_auto_check'): - raise UserError(_( - 'Error %s trying to ' - 'check mail' % res.status_code or 'of connection')) + "https://api.mailgun.net/v3/address/validate", + auth=("api", validation_key), + params={"address": partner.email, "mailbox_verification": True}, + ) + if ( + not res + or res.status_code != 200 + and not self.env.context.get("mailgun_auto_check") + ): + raise UserError( + _( + "Error %s trying to check mail" % res.status_code + or "of connection" + ) + ) content = res.json() - if 'mailbox_verification' not in content: - if not self.env.context.get('mailgun_auto_check'): + if "mailbox_verification" not in content: + if not self.env.context.get("mailgun_auto_check"): raise UserError( - _("Mailgun Error. Mailbox verification value wasn't" - " returned")) + _( + "Mailgun Error. Mailbox verification value wasn't" + " returned" + ) + ) # Not a valid address: API sets 'is_valid' as False # and 'mailbox_verification' as None - if not content['is_valid']: + if not content["is_valid"]: partner.email_bounced = True - body = _('%s is not a valid email address. Please check it' - ' in order to avoid sending issues') % partner.email - if not self.env.context.get('mailgun_auto_check'): + body = ( + _( + "%s is not a valid email address. Please check it" + " in order to avoid sending issues" + ) + % partner.email + ) + if not self.env.context.get("mailgun_auto_check"): raise UserError(body) partner.message_post(body=body) # If the mailbox is not valid API returns 'mailbox_verification' # as a string with value 'false' - if content['mailbox_verification'] == 'false': + if content["mailbox_verification"] == "false": partner.email_bounced = True - body = _('%s failed the mailbox verification. Please check it' - ' in order to avoid sending issues') % partner.email - if not self.env.context.get('mailgun_auto_check'): + body = ( + _( + "%s failed the mailbox verification. Please check it" + " in order to avoid sending issues" + ) + % partner.email + ) + if not self.env.context.get("mailgun_auto_check"): raise UserError(body) partner.message_post(body=body) # If Mailgun can't complete the validation request the API returns # 'mailbox_verification' as a string set to 'unknown' - if content['mailbox_verification'] == 'unknown': - if not self.env.context.get('mailgun_auto_check'): + if content["mailbox_verification"] == "unknown": + if not self.env.context.get("mailgun_auto_check"): raise UserError( - _("%s couldn't be verified. Either the request couln't" - " be completed or the mailbox provider doesn't " - "support email verification") % (partner.email)) + _( + "%s couldn't be verified. Either the request couln't" + " be completed or the mailbox provider doesn't " + "support email verification" + ) + % (partner.email) + ) @api.multi def check_email_bounced(self): @@ -101,11 +134,13 @@ class ResPartner(models.Model): https://documentation.mailgun.com/en/latest/api-suppressions.html """ api_key, api_url, domain, validation_key = self.env[ - 'mail.tracking.email']._mailgun_values() + "mail.tracking.email" + ]._mailgun_values() for partner in self: res = requests.get( - '%s/%s/bounces/%s' % (api_url, domain, partner.email), - auth=("api", api_key)) + "{}/{}/bounces/{}".format(api_url, domain, partner.email), + auth=("api", api_key), + ) if res.status_code == 200 and not partner.email_bounced: partner.email_bounced = True elif res.status_code == 404 and partner.email_bounced: @@ -119,14 +154,15 @@ class ResPartner(models.Model): https://documentation.mailgun.com/en/latest/api-suppressions.html """ api_key, api_url, domain, validation_key = self.env[ - 'mail.tracking.email']._mailgun_values() + "mail.tracking.email" + ]._mailgun_values() for partner in self: res = requests.post( - '%s/%s/bounces' % (api_url, domain), + "{}/{}/bounces".format(api_url, domain), auth=("api", api_key), - data={'address': partner.email}) - partner.email_bounced = ( - res.status_code == 200 and not partner.email_bounced) + data={"address": partner.email}, + ) + partner.email_bounced = res.status_code == 200 and not partner.email_bounced @api.multi def force_unset_bounced(self): @@ -136,30 +172,31 @@ class ResPartner(models.Model): https://documentation.mailgun.com/en/latest/api-suppressions.html """ api_key, api_url, domain, validation_key = self.env[ - 'mail.tracking.email']._mailgun_values() + "mail.tracking.email" + ]._mailgun_values() for partner in self: res = requests.delete( - '%s/%s/bounces/%s' % (api_url, domain, partner.email), - auth=("api", api_key)) + "{}/{}/bounces/{}".format(api_url, domain, partner.email), + auth=("api", api_key), + ) if res.status_code in (200, 404) and partner.email_bounced: partner.email_bounced = False def _autocheck_partner_email(self): for partner in self: - partner.with_context( - mailgun_auto_check=True).check_email_validity() + partner.with_context(mailgun_auto_check=True).check_email_validity() @api.model def create(self, vals): - if ('email' in vals and - self.env['ir.config_parameter'].sudo().get_param( - 'mailgun.auto_check_partner_email')): + if "email" in vals and self.env["ir.config_parameter"].sudo().get_param( + "mailgun.auto_check_partner_email" + ): self._autocheck_partner_email() return super(ResPartner, self).create(vals) def write(self, vals): - if ('email' in vals and - self.env['ir.config_parameter'].sudo().get_param( - 'mailgun.auto_check_partner_email')): + if "email" in vals and self.env["ir.config_parameter"].sudo().get_param( + "mailgun.auto_check_partner_email" + ): self._autocheck_partner_email() return super(ResPartner, self).write(vals) diff --git a/mail_tracking_mailgun/tests/test_mailgun.py b/mail_tracking_mailgun/tests/test_mailgun.py index 5c3e5b59d..f56285023 100644 --- a/mail_tracking_mailgun/tests/test_mailgun.py +++ b/mail_tracking_mailgun/tests/test_mailgun.py @@ -2,205 +2,199 @@ # Copyright 2017 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo.tools import mute_logger -from odoo.tests.common import TransactionCase -from odoo.exceptions import UserError, ValidationError import mock -_packagepath = 'odoo.addons.mail_tracking_mailgun' +from odoo.exceptions import UserError, ValidationError +from odoo.tests.common import TransactionCase +from odoo.tools import mute_logger + +_packagepath = "odoo.addons.mail_tracking_mailgun" class TestMailgun(TransactionCase): def mail_send(self): - mail = self.env['mail.mail'].create({ - 'subject': 'Test subject', - 'email_from': 'from@example.com', - 'email_to': self.recipient, - 'body_html': '

This is a test message

', - }) + mail = self.env["mail.mail"].create( + { + "subject": "Test subject", + "email_from": "from@example.com", + "email_to": self.recipient, + "body_html": "

This is a test message

", + } + ) mail.send() # Search tracking created - tracking_email = self.env['mail.tracking.email'].search([ - ('mail_id', '=', mail.id), - ]) + tracking_email = self.env["mail.tracking.email"].search( + [("mail_id", "=", mail.id)] + ) return mail, tracking_email def setUp(self): super(TestMailgun, self).setUp() - self.recipient = 'to@example.com' + self.recipient = "to@example.com" self.mail, self.tracking_email = self.mail_send() - self.api_key = 'key-12345678901234567890123456789012' - self.domain = 'example.com' - self.token = 'f1349299097a51b9a7d886fcb5c2735b426ba200ada6e9e149' - self.timestamp = '1471021089' - self.signature = ('4fb6d4dbbe10ce5d620265dcd7a3c0b8' - 'ca0dede1433103891bc1ae4086e9d5b2') - self.env['ir.config_parameter'].set_param( - 'mailgun.apikey', self.api_key) - self.env['ir.config_parameter'].set_param( - 'mail.catchall.domain', self.domain) - self.env['ir.config_parameter'].set_param( - 'mailgun.validation_key', self.api_key) - self.env['ir.config_parameter'].set_param( - 'mailgun.auto_check_partner_email', '') + self.api_key = "key-12345678901234567890123456789012" + self.domain = "example.com" + self.token = "f1349299097a51b9a7d886fcb5c2735b426ba200ada6e9e149" + self.timestamp = "1471021089" + self.signature = ( + "4fb6d4dbbe10ce5d620265dcd7a3c0b8ca0dede1433103891bc1ae4086e9d5b2" + ) + self.env["ir.config_parameter"].set_param("mailgun.apikey", self.api_key) + self.env["ir.config_parameter"].set_param("mail.catchall.domain", self.domain) + self.env["ir.config_parameter"].set_param( + "mailgun.validation_key", self.api_key + ) + self.env["ir.config_parameter"].set_param( + "mailgun.auto_check_partner_email", "" + ) self.event = { - 'Message-Id': '', - 'X-Mailgun-Sid': 'WyIwNjgxZSIsICJ0b0BleGFtcGxlLmNvbSIsICI3MG' - 'I0MWYiXQ==', - 'token': self.token, - 'timestamp': self.timestamp, - 'signature': self.signature, - 'domain': 'example.com', - 'message-headers': '[]', - 'recipient': self.recipient, - 'odoo_db': self.env.cr.dbname, - 'tracking_email_id': '%s' % self.tracking_email.id + "Message-Id": "", + "X-Mailgun-Sid": "WyIwNjgxZSIsICJ0b0BleGFtcGxlLmNvbSIsICI3MGI0MWYiXQ==", + "token": self.token, + "timestamp": self.timestamp, + "signature": self.signature, + "domain": "example.com", + "message-headers": "[]", + "recipient": self.recipient, + "odoo_db": self.env.cr.dbname, + "tracking_email_id": "%s" % self.tracking_email.id, } self.metadata = { - 'ip': '127.0.0.1', - 'user_agent': False, - 'os_family': False, - 'ua_family': False, + "ip": "127.0.0.1", + "user_agent": False, + "os_family": False, + "ua_family": False, } - self.partner = self.env['res.partner'].create({ - 'name': 'Mr. Odoo', - 'email': 'mrodoo@example.com', - }) + self.partner = self.env["res.partner"].create( + {"name": "Mr. Odoo", "email": "mrodoo@example.com"} + ) self.response = { - "items": [{ - "log-level": "info", - "id": "oXAVv5URCF-dKv8c6Sa7T", - "timestamp": 1509119329.0, - "message": { - "headers": { - "to": "test@test.com", - "message-id": "test-id@f187c54734e8", - "from": "Mr. Odoo ", - "subject": "This is a test" + "items": [ + { + "log-level": "info", + "id": "oXAVv5URCF-dKv8c6Sa7T", + "timestamp": 1509119329.0, + "message": { + "headers": { + "to": "test@test.com", + "message-id": "test-id@f187c54734e8", + "from": "Mr. Odoo ", + "subject": "This is a test", + } }, - }, - "event": "delivered", - "recipient": "to@example.com", - }] + "event": "delivered", + "recipient": "to@example.com", + } + ] } def event_search(self, event_type): - event = self.env['mail.tracking.event'].search([ - ('tracking_email_id', '=', self.tracking_email.id), - ('event_type', '=', event_type), - ]) + event = self.env["mail.tracking.event"].search( + [ + ("tracking_email_id", "=", self.tracking_email.id), + ("event_type", "=", event_type), + ] + ) self.assertTrue(event) return event def test_no_api_key(self): - self.env['ir.config_parameter'].set_param('mailgun.apikey', '') + self.env["ir.config_parameter"].set_param("mailgun.apikey", "") self.test_event_delivered() with self.assertRaises(ValidationError): - self.env['mail.tracking.email']._mailgun_values() + self.env["mail.tracking.email"]._mailgun_values() def test_no_domain(self): - self.env['ir.config_parameter'].set_param('mail.catchall.domain', '') + self.env["ir.config_parameter"].set_param("mail.catchall.domain", "") self.test_event_delivered() with self.assertRaises(ValidationError): - self.env['mail.tracking.email']._mailgun_values() + self.env["mail.tracking.email"]._mailgun_values() # now we set an specific domain for Mailgun: # i.e: we configure new EU zone without loosing old domain statistics - self.env['ir.config_parameter'].set_param( - 'mailgun.domain', 'eu.example.com') + self.env["ir.config_parameter"].set_param("mailgun.domain", "eu.example.com") self.test_event_delivered() - @mute_logger('odoo.addons.mail_tracking_mailgun.models' - '.mail_tracking_email') + @mute_logger("odoo.addons.mail_tracking_mailgun.models.mail_tracking_email") def test_bad_signature(self): - self.event.update({ - 'event': 'delivered', - 'signature': 'bad_signature', - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('ERROR: Signature', response) + self.event.update({"event": "delivered", "signature": "bad_signature"}) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("ERROR: Signature", response) - @mute_logger('odoo.addons.mail_tracking_mailgun.models' - '.mail_tracking_email') + @mute_logger("odoo.addons.mail_tracking_mailgun.models.mail_tracking_email") def test_bad_event_type(self): - self.event.update({ - 'event': 'bad_event', - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('ERROR: Event type not supported', response) + self.event.update({"event": "bad_event"}) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("ERROR: Event type not supported", response) - @mute_logger('odoo.addons.mail_tracking_mailgun.models' - '.mail_tracking_email') + @mute_logger("odoo.addons.mail_tracking_mailgun.models.mail_tracking_email") def test_bad_db(self): - self.event.update({ - 'event': 'delivered', - 'odoo_db': 'bad_db', - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('ERROR: Invalid DB', response) + self.event.update({"event": "delivered", "odoo_db": "bad_db"}) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("ERROR: Invalid DB", response) def test_bad_ts(self): - timestamp = '7a' # Now time will be used instead - signature = ('06cc05680f6e8110e59b41152b2d1c0f' - '1045d755ef2880ff922344325c89a6d4') - self.event.update({ - 'event': 'delivered', - 'timestamp': timestamp, - 'signature': signature, - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('OK', response) + timestamp = "7a" # Now time will be used instead + signature = "06cc05680f6e8110e59b41152b2d1c0f1045d755ef2880ff922344325c89a6d4" + self.event.update( + {"event": "delivered", "timestamp": timestamp, "signature": signature} + ) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("OK", response) - @mute_logger('odoo.addons.mail_tracking_mailgun.models' - '.mail_tracking_email') + @mute_logger("odoo.addons.mail_tracking_mailgun.models.mail_tracking_email") def test_tracking_not_found(self): - self.event.update({ - 'event': 'delivered', - 'tracking_email_id': 'bad_id', - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('ERROR: Tracking not found', response) + self.event.update({"event": "delivered", "tracking_email_id": "bad_id"}) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("ERROR: Tracking not found", response) # https://documentation.mailgun.com/user_manual.html#tracking-deliveries def test_event_delivered(self): - self.event.update({ - 'event': 'delivered', - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('OK', response) - events = self.event_search('delivered') + self.event.update({"event": "delivered"}) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("OK", response) + events = self.event_search("delivered") for event in events: self.assertEqual(event.timestamp, float(self.timestamp)) self.assertEqual(event.recipient, self.recipient) # https://documentation.mailgun.com/user_manual.html#tracking-opens def test_event_opened(self): - ip = '127.0.0.1' - user_agent = 'Odoo Test/8.0 Gecko Firefox/11.0' - os_family = 'Linux' - ua_family = 'Firefox' - ua_type = 'browser' - self.event.update({ - 'event': 'opened', - 'city': 'Mountain View', - 'country': 'US', - 'region': 'CA', - 'client-name': ua_family, - 'client-os': os_family, - 'client-type': ua_type, - 'device-type': 'desktop', - 'ip': ip, - 'user-agent': user_agent, - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('OK', response) - event = self.event_search('open') + ip = "127.0.0.1" + user_agent = "Odoo Test/8.0 Gecko Firefox/11.0" + os_family = "Linux" + ua_family = "Firefox" + ua_type = "browser" + self.event.update( + { + "event": "opened", + "city": "Mountain View", + "country": "US", + "region": "CA", + "client-name": ua_family, + "client-os": os_family, + "client-type": ua_type, + "device-type": "desktop", + "ip": ip, + "user-agent": user_agent, + } + ) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("OK", response) + event = self.event_search("open") self.assertEqual(event.timestamp, float(self.timestamp)) self.assertEqual(event.recipient, self.recipient) self.assertEqual(event.ip, ip) @@ -209,33 +203,36 @@ class TestMailgun(TransactionCase): self.assertEqual(event.ua_family, ua_family) self.assertEqual(event.ua_type, ua_type) self.assertEqual(event.mobile, False) - self.assertEqual(event.user_country_id.code, 'US') + self.assertEqual(event.user_country_id.code, "US") # https://documentation.mailgun.com/user_manual.html#tracking-clicks def test_event_clicked(self): - ip = '127.0.0.1' - user_agent = 'Odoo Test/8.0 Gecko Firefox/11.0' - os_family = 'Linux' - ua_family = 'Firefox' - ua_type = 'browser' - url = 'https://odoo-community.org' - self.event.update({ - 'event': 'clicked', - 'city': 'Mountain View', - 'country': 'US', - 'region': 'CA', - 'client-name': ua_family, - 'client-os': os_family, - 'client-type': ua_type, - 'device-type': 'tablet', - 'ip': ip, - 'user-agent': user_agent, - 'url': url, - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata, event_type='click') - self.assertEqual('OK', response) - event = self.event_search('click') + ip = "127.0.0.1" + user_agent = "Odoo Test/8.0 Gecko Firefox/11.0" + os_family = "Linux" + ua_family = "Firefox" + ua_type = "browser" + url = "https://odoo-community.org" + self.event.update( + { + "event": "clicked", + "city": "Mountain View", + "country": "US", + "region": "CA", + "client-name": ua_family, + "client-os": os_family, + "client-type": ua_type, + "device-type": "tablet", + "ip": ip, + "user-agent": user_agent, + "url": url, + } + ) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata, event_type="click" + ) + self.assertEqual("OK", response) + event = self.event_search("click") self.assertEqual(event.timestamp, float(self.timestamp)) self.assertEqual(event.recipient, self.recipient) self.assertEqual(event.ip, ip) @@ -248,27 +245,30 @@ class TestMailgun(TransactionCase): # https://documentation.mailgun.com/user_manual.html#tracking-unsubscribes def test_event_unsubscribed(self): - ip = '127.0.0.1' - user_agent = 'Odoo Test/8.0 Gecko Firefox/11.0' - os_family = 'Linux' - ua_family = 'Firefox' - ua_type = 'browser' - self.event.update({ - 'event': 'unsubscribed', - 'city': 'Mountain View', - 'country': 'US', - 'region': 'CA', - 'client-name': ua_family, - 'client-os': os_family, - 'client-type': ua_type, - 'device-type': 'mobile', - 'ip': ip, - 'user-agent': user_agent, - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('OK', response) - event = self.event_search('unsub') + ip = "127.0.0.1" + user_agent = "Odoo Test/8.0 Gecko Firefox/11.0" + os_family = "Linux" + ua_family = "Firefox" + ua_type = "browser" + self.event.update( + { + "event": "unsubscribed", + "city": "Mountain View", + "country": "US", + "region": "CA", + "client-name": ua_family, + "client-os": os_family, + "client-type": ua_type, + "device-type": "mobile", + "ip": ip, + "user-agent": user_agent, + } + ) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("OK", response) + event = self.event_search("unsub") self.assertEqual(event.timestamp, float(self.timestamp)) self.assertEqual(event.recipient, self.recipient) self.assertEqual(event.ip, ip) @@ -281,33 +281,37 @@ class TestMailgun(TransactionCase): # https://documentation.mailgun.com/ # user_manual.html#tracking-spam-complaints def test_event_complained(self): - self.event.update({ - 'event': 'complained', - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('OK', response) - event = self.event_search('spam') + self.event.update({"event": "complained"}) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("OK", response) + event = self.event_search("spam") self.assertEqual(event.timestamp, float(self.timestamp)) self.assertEqual(event.recipient, self.recipient) - self.assertEqual(event.error_type, 'spam') + self.assertEqual(event.error_type, "spam") # https://documentation.mailgun.com/user_manual.html#tracking-bounces def test_event_bounced(self): - code = '550' - error = ("5.1.1 The email account does not exist.\n" - "5.1.1 double-checking the recipient's email address") + code = "550" + error = ( + "5.1.1 The email account does not exist.\n" + "5.1.1 double-checking the recipient's email address" + ) notification = "Please, check recipient's email address" - self.event.update({ - 'event': 'bounced', - 'code': code, - 'error': error, - 'notification': notification, - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('OK', response) - event = self.event_search('hard_bounce') + self.event.update( + { + "event": "bounced", + "code": code, + "error": error, + "notification": notification, + } + ) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("OK", response) + event = self.event_search("hard_bounce") self.assertEqual(event.timestamp, float(self.timestamp)) self.assertEqual(event.recipient, self.recipient) self.assertEqual(event.error_type, code) @@ -316,73 +320,77 @@ class TestMailgun(TransactionCase): # https://documentation.mailgun.com/user_manual.html#tracking-failures def test_event_dropped(self): - reason = 'hardfail' - code = '605' - description = 'Not delivering to previously bounced address' - self.event.update({ - 'event': 'dropped', - 'reason': reason, - 'code': code, - 'description': description, - }) - response = self.env['mail.tracking.email'].event_process( - None, self.event, self.metadata) - self.assertEqual('OK', response) - event = self.event_search('reject') + reason = "hardfail" + code = "605" + description = "Not delivering to previously bounced address" + self.event.update( + { + "event": "dropped", + "reason": reason, + "code": code, + "description": description, + } + ) + response = self.env["mail.tracking.email"].event_process( + None, self.event, self.metadata + ) + self.assertEqual("OK", response) + event = self.event_search("reject") self.assertEqual(event.timestamp, float(self.timestamp)) self.assertEqual(event.recipient, self.recipient) self.assertEqual(event.error_type, reason) self.assertEqual(event.error_description, code) self.assertEqual(event.error_details, description) - @mock.patch(_packagepath + '.models.res_partner.requests') + @mock.patch(_packagepath + ".models.res_partner.requests") def test_email_validity(self, mock_request): self.partner.email_bounced = False - mock_request.get.return_value.apparent_encoding = 'ascii' + mock_request.get.return_value.apparent_encoding = "ascii" mock_request.get.return_value.status_code = 200 mock_request.get.return_value.json.return_value = { - 'is_valid': True, - 'mailbox_verification': 'true', + "is_valid": True, + "mailbox_verification": "true", } # Trigger email auto validation in partner - self.env['ir.config_parameter'].set_param( - 'mailgun.auto_check_partner_email', 'True') - self.partner.email = 'info@tecnativa.com' + self.env["ir.config_parameter"].set_param( + "mailgun.auto_check_partner_email", "True" + ) + self.partner.email = "info@tecnativa.com" self.assertFalse(self.partner.email_bounced) - self.partner.email = 'xoxoxoxo@tecnativa.com' + self.partner.email = "xoxoxoxo@tecnativa.com" # Not a valid mailbox mock_request.get.return_value.json.return_value = { - 'is_valid': True, - 'mailbox_verification': 'false', + "is_valid": True, + "mailbox_verification": "false", } with self.assertRaises(UserError): self.partner.check_email_validity() # Not a valid mail address mock_request.get.return_value.json.return_value = { - 'is_valid': False, - 'mailbox_verification': 'false', + "is_valid": False, + "mailbox_verification": "false", } with self.assertRaises(UserError): self.partner.check_email_validity() # Unable to fully validate mock_request.get.return_value.json.return_value = { - 'is_valid': True, - 'mailbox_verification': 'unknown', + "is_valid": True, + "mailbox_verification": "unknown", } with self.assertRaises(UserError): self.partner.check_email_validity() self.assertTrue(self.partner.email_bounced) - @mock.patch(_packagepath + '.models.res_partner.requests') + @mock.patch(_packagepath + ".models.res_partner.requests") def test_email_validity_exceptions(self, mock_request): mock_request.get.return_value.status_code = 404 with self.assertRaises(UserError): self.partner.check_email_validity() - self.env['ir.config_parameter'].set_param('mailgun.validation_key', '') + self.env["ir.config_parameter"].set_param("mailgun.validation_key", "") with self.assertRaises(UserError): self.partner.check_email_validity() - @mock.patch(_packagepath + '.models.res_partner.requests') + @mock.patch(_packagepath + ".models.res_partner.requests") def test_bounced(self, mock_request): self.partner.email_bounced = True mock_request.get.return_value.status_code = 404 @@ -398,22 +406,23 @@ class TestMailgun(TransactionCase): def test_email_bounced_set(self): message_number = len(self.partner.message_ids) + 1 - self.partner._email_bounced_set('test_error', False) + self.partner._email_bounced_set("test_error", False) self.assertEqual(len(self.partner.message_ids), message_number) self.partner.email = "" - self.partner._email_bounced_set('test_error', False) + self.partner._email_bounced_set("test_error", False) self.assertEqual(len(self.partner.message_ids), message_number) - @mock.patch(_packagepath + '.models.mail_tracking_email.requests') + @mock.patch(_packagepath + ".models.mail_tracking_email.requests") def test_manual_check(self, mock_request): mock_request.get.return_value.json.return_value = self.response mock_request.get.return_value.status_code = 200 self.tracking_email.action_manual_check_mailgun() - event = self.env['mail.tracking.event'].search( - [('mailgun_id', '=', self.response['items'][0]['id'])]) - self.assertEqual(event.event_type, self.response['items'][0]['event']) + event = self.env["mail.tracking.event"].search( + [("mailgun_id", "=", self.response["items"][0]["id"])] + ) + self.assertEqual(event.event_type, self.response["items"][0]["event"]) - @mock.patch(_packagepath + '.models.mail_tracking_email.requests') + @mock.patch(_packagepath + ".models.mail_tracking_email.requests") def test_manual_check_exceptions(self, mock_request): mock_request.get.return_value.status_code = 404 with self.assertRaises(ValidationError):