diff --git a/action.py b/action.py index 93ff02d..b2d0686 100644 --- a/action.py +++ b/action.py @@ -8,8 +8,7 @@ from trytond import backend __all__ = ['ActionReport', 'ActionWizard'] -class ActionReport: - __metaclass__ = PoolMeta +class ActionReport(metaclass=PoolMeta): __name__ = 'ir.action.report' email_filename = fields.Char('Email File Name', translate=True, help='File name e-mail attachment without extension. ' @@ -28,7 +27,6 @@ class ActionReport: super(ActionReport, cls).__register__(module_name) -class ActionWizard: - __metaclass__ = PoolMeta +class ActionWizard(metaclass=PoolMeta): __name__ = 'ir.action.wizard' template = fields.One2Many("electronic.mail.template", 'wizard', 'Template') diff --git a/activity.py b/activity.py index 5858a56..0d0ef4c 100644 --- a/activity.py +++ b/activity.py @@ -7,8 +7,7 @@ from trytond import backend __all__ = ['Activity'] -class Activity: - __metaclass__ = PoolMeta +class Activity(metaclass=PoolMeta): __name__ = "activity.activity" @classmethod diff --git a/setup.py b/setup.py index f5a642c..18902a9 100644 --- a/setup.py +++ b/setup.py @@ -7,10 +7,7 @@ from setuptools import setup import re import os import io -try: - from configparser import ConfigParser -except ImportError: - from ConfigParser import ConfigParser +from configparser import ConfigParser MODULE = 'electronic_mail' PREFIX = 'trytonspain' diff --git a/template.py b/template.py index 1651919..b022e4e 100644 --- a/template.py +++ b/template.py @@ -13,11 +13,12 @@ from trytond.sendmail import SMTPDataManager, sendmail_transactional, sendmail from genshi.template import TextTemplate from jinja2 import Template as Jinja2Template from emailvalid import check_email -from email import Encoders, charset +from email import charset from email.header import decode_header, Header from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase +from email.encoders import encode_base64 from email.utils import formatdate, make_msgid __all__ = ['Template', 'TemplateReport', 'SendTemplateStart', 'SendTemplate'] @@ -130,7 +131,7 @@ class Template(ModelSQL, ModelView): '''Evaluate the pythonic expression and return its value ''' if expression is None: - return u'' + return '' assert record is not None, 'Record is undefined' template_context = cls.template_context(record) @@ -143,7 +144,7 @@ class Template(ModelSQL, ModelView): :param record: Browse record ''' if not expression: - return u'' + return '' template = TextTemplate(expression) template_context = cls.template_context(record) @@ -156,7 +157,7 @@ class Template(ModelSQL, ModelView): :param record: Browse record ''' if not expression: - return u'' + return '' template = Jinja2Template(expression) template_context = cls.template_context(record) @@ -294,7 +295,7 @@ class Template(ModelSQL, ModelView): vals = [] for record in records: val = {} - for k, v in data.iteritems(): + for k, v in data.items(): value = cls.eval(v, record, engine) if k in ['from_', 'sender', 'to', 'cc', 'bcc']: value = value.replace(' ', '').replace(',', ';') @@ -408,7 +409,7 @@ class Template(ModelSQL, ModelView): attachment = MIMEBase(maintype, subtype) attachment.set_payload(data) - Encoders.encode_base64(attachment) + encode_base64(attachment) attachment.add_header( 'Content-Disposition', 'attachment', filename=filename) message.attach(attachment) @@ -494,7 +495,7 @@ class SendTemplate(Wizard): default = {} default['template'] = template.id default['total'] = total - for k, v in template.pre_render(records)[0].iteritems(): + for k, v in template.pre_render(records)[0].items(): default[k] = v return default diff --git a/tools.py b/tools.py deleted file mode 100644 index e69de29..0000000 diff --git a/trigger.py b/trigger.py index 53abb36..dfb5fac 100644 --- a/trigger.py +++ b/trigger.py @@ -8,8 +8,7 @@ from trytond.pool import Pool, PoolMeta __all__ = ['Trigger'] -class Trigger: - __metaclass__ = PoolMeta +class Trigger(metaclass=PoolMeta): __name__ = 'ir.trigger' email_template = fields.Many2One('electronic.mail.template', 'Template') diff --git a/user.py b/user.py index 2dc77dd..654734d 100644 --- a/user.py +++ b/user.py @@ -7,8 +7,7 @@ from trytond.model import fields __all__ = ['User'] -class User: - __metaclass__ = PoolMeta +class User(metaclass=PoolMeta): __name__ = "res.user" signature_html = fields.Text('Signature HTML')