From b897dcde150e10c502b53aa5a988072e89c3f274 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 17 May 2017 17:22:50 +0200 Subject: [PATCH] [FIX] P3: import pattern which doesn't seem to work right ``import odoo.addons.foo as bar`` doesn't seem to properly trigger the import hook in Python 3 (it blows up on decimal_precision and base). Thus convert *all* examples of that pattern to the more sensible ``from odoo.addons import foo as bar``. --- addons/account/models/account_invoice.py | 2 +- addons/account/models/account_move.py | 2 +- addons/account_asset/models/account_invoice.py | 2 +- addons/account_voucher/models/account_voucher.py | 2 +- addons/delivery/models/delivery_price_rule.py | 2 +- addons/delivery/models/sale_order.py | 2 +- addons/delivery/models/stock_move.py | 2 +- addons/delivery/models/stock_picking.py | 2 +- addons/event_sale/models/event.py | 2 +- addons/hr_expense/models/hr_expense.py | 4 ++-- addons/hw_blackbox_be/controllers/main.py | 2 +- addons/hw_escpos/controllers/main.py | 2 +- addons/hw_escpos/escpos/escpos.py | 2 +- addons/hw_posbox_upgrade/controllers/main.py | 2 +- addons/hw_scale/controllers/main.py | 2 +- addons/hw_scanner/controllers/main.py | 2 +- addons/l10n_be_intrastat/wizard/xml_decl.py | 2 +- addons/lunch/models/lunch.py | 2 +- addons/marketing_campaign/models/marketing_campaign.py | 2 +- addons/membership/models/membership.py | 2 +- addons/membership/wizard/membership_invoice.py | 2 +- addons/payment_authorize/models/authorize_request.py | 2 +- addons/point_of_sale/models/pos_order.py | 2 +- addons/procurement/models/procurement.py | 2 +- addons/product/models/product.py | 2 +- addons/product/models/product_pricelist.py | 2 +- addons/product/models/product_template.py | 2 +- addons/purchase/models/purchase.py | 2 +- addons/purchase_requisition/models/purchase_requisition.py | 2 +- addons/sale/models/sale.py | 2 +- addons/sale/wizard/sale_make_invoice_advance.py | 2 +- addons/sale_margin/models/sale_order.py | 2 +- addons/website/controllers/main.py | 2 +- addons/website_quote/models/sale_order.py | 2 +- addons/website_quote/models/sale_quote.py | 2 +- addons/website_sale/models/product.py | 2 +- odoo/addons/base/tests/test_expression.py | 2 +- odoo/addons/base/tests/test_ir_actions.py | 2 +- odoo/service/db.py | 2 +- odoo/service/server.py | 7 ++++--- odoo/service/wsgi_server.py | 2 +- odoo/tools/mail.py | 2 +- 42 files changed, 46 insertions(+), 45 deletions(-) diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index 79a093d2203..ddd9011b7ce 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -10,7 +10,7 @@ from odoo.tools import float_is_zero, float_compare, pycompat from odoo.exceptions import UserError, RedirectWarning, ValidationError, Warning -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp import logging _logger = logging.getLogger(__name__) diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index ca280a7fd57..7aad4d9a87e 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -8,7 +8,7 @@ from odoo.exceptions import RedirectWarning, UserError, ValidationError from odoo.tools.misc import formatLang from odoo.tools import float_is_zero, float_compare from odoo.tools.safe_eval import safe_eval -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from lxml import etree #---------------------------------------------------------- diff --git a/addons/account_asset/models/account_invoice.py b/addons/account_asset/models/account_invoice.py index 4d6e3590037..f4cafe12319 100644 --- a/addons/account_asset/models/account_invoice.py +++ b/addons/account_asset/models/account_invoice.py @@ -6,7 +6,7 @@ from dateutil.relativedelta import relativedelta from odoo import api, fields, models from odoo.tools import DEFAULT_SERVER_DATE_FORMAT as DF -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class AccountInvoice(models.Model): diff --git a/addons/account_voucher/models/account_voucher.py b/addons/account_voucher/models/account_voucher.py index 5cf492c7654..e394af36296 100644 --- a/addons/account_voucher/models/account_voucher.py +++ b/addons/account_voucher/models/account_voucher.py @@ -3,7 +3,7 @@ from odoo import fields, models, api, _ -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo.exceptions import UserError from odoo.tools import pycompat diff --git a/addons/delivery/models/delivery_price_rule.py b/addons/delivery/models/delivery_price_rule.py index c5ced2e0c4c..7dc64c9331e 100644 --- a/addons/delivery/models/delivery_price_rule.py +++ b/addons/delivery/models/delivery_price_rule.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import models, fields, api -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class PriceRule(models.Model): diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py index 4ff2ab101ed..5d6d2ff1bca 100644 --- a/addons/delivery/models/sale_order.py +++ b/addons/delivery/models/sale_order.py @@ -3,7 +3,7 @@ from odoo import models, fields, api, _ from odoo.exceptions import UserError -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class SaleOrder(models.Model): diff --git a/addons/delivery/models/stock_move.py b/addons/delivery/models/stock_move.py index cae1b7cd751..635fbf27494 100644 --- a/addons/delivery/models/stock_move.py +++ b/addons/delivery/models/stock_move.py @@ -3,7 +3,7 @@ from odoo import api, fields, models -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class StockMove(models.Model): diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py index 06fe1899595..fb574e9bbb6 100644 --- a/addons/delivery/models/stock_picking.py +++ b/addons/delivery/models/stock_picking.py @@ -4,7 +4,7 @@ from odoo import models, fields, api, _ from odoo.exceptions import UserError -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class StockQuantPackage(models.Model): diff --git a/addons/event_sale/models/event.py b/addons/event_sale/models/event.py index 6fadf6ce756..a0d27bd268f 100644 --- a/addons/event_sale/models/event.py +++ b/addons/event_sale/models/event.py @@ -4,7 +4,7 @@ from odoo import api, fields, models, _ from odoo.exceptions import ValidationError, UserError -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class EventType(models.Model): diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 1421868049b..15fc4974048 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -7,7 +7,7 @@ from odoo import api, fields, models, _ from odoo.exceptions import UserError from odoo.tools import email_split, float_is_zero, pycompat -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class HrExpense(models.Model): @@ -557,4 +557,4 @@ class HrExpenseSheet(models.Model): def _check_employee(self): employee_ids = self.expense_line_ids.mapped('employee_id') if len(employee_ids) > 1 or (len(employee_ids) == 1 and employee_ids != self.employee_id): - raise ValidationError(_('You cannot add expense lines of another employee.')) \ No newline at end of file + raise ValidationError(_('You cannot add expense lines of another employee.')) diff --git a/addons/hw_blackbox_be/controllers/main.py b/addons/hw_blackbox_be/controllers/main.py index 89d14af6153..5e8e8b0a6c3 100644 --- a/addons/hw_blackbox_be/controllers/main.py +++ b/addons/hw_blackbox_be/controllers/main.py @@ -10,7 +10,7 @@ from threading import Thread, Lock from odoo import http -import odoo.addons.hw_proxy.controllers.main as hw_proxy +from odoo.addons.hw_proxy.controllers import main as hw_proxy _logger = logging.getLogger(__name__) diff --git a/addons/hw_escpos/controllers/main.py b/addons/hw_escpos/controllers/main.py index 7e4302d7dc0..fa57b18501e 100644 --- a/addons/hw_escpos/controllers/main.py +++ b/addons/hw_escpos/controllers/main.py @@ -30,7 +30,7 @@ except ImportError: from odoo import http, _ -import odoo.addons.hw_proxy.controllers.main as hw_proxy +from odoo.addons.hw_proxy.controllers import main as hw_proxy _logger = logging.getLogger(__name__) diff --git a/addons/hw_escpos/escpos/escpos.py b/addons/hw_escpos/escpos/escpos.py index 74c324a303e..e50537e0eeb 100644 --- a/addons/hw_escpos/escpos/escpos.py +++ b/addons/hw_escpos/escpos/escpos.py @@ -10,7 +10,7 @@ import traceback from hashlib import md5 from PIL import Image -import xml.etree.ElementTree as ET +from xml.etree import ElementTree as ET try: import jcconv diff --git a/addons/hw_posbox_upgrade/controllers/main.py b/addons/hw_posbox_upgrade/controllers/main.py index bff94bdad8d..b863afdf318 100644 --- a/addons/hw_posbox_upgrade/controllers/main.py +++ b/addons/hw_posbox_upgrade/controllers/main.py @@ -8,7 +8,7 @@ import threading from odoo import http -import odoo.addons.hw_proxy.controllers.main as hw_proxy +from odoo.addons.hw_proxy.controllers import main as hw_proxy _logger = logging.getLogger(__name__) diff --git a/addons/hw_scale/controllers/main.py b/addons/hw_scale/controllers/main.py index 75c1c4b06b4..090e6193fe6 100644 --- a/addons/hw_scale/controllers/main.py +++ b/addons/hw_scale/controllers/main.py @@ -12,7 +12,7 @@ from threading import Thread, Lock from odoo import http -import odoo.addons.hw_proxy.controllers.main as hw_proxy +from odoo.addons.hw_proxy.controllers import main as hw_proxy _logger = logging.getLogger(__name__) diff --git a/addons/hw_scanner/controllers/main.py b/addons/hw_scanner/controllers/main.py index 89f1318362e..fae64d417d5 100644 --- a/addons/hw_scanner/controllers/main.py +++ b/addons/hw_scanner/controllers/main.py @@ -14,7 +14,7 @@ from threading import Thread, Lock from odoo import http -import odoo.addons.hw_proxy.controllers.main as hw_proxy +from odoo.addons.hw_proxy.controllers import main as hw_proxy _logger = logging.getLogger(__name__) diff --git a/addons/l10n_be_intrastat/wizard/xml_decl.py b/addons/l10n_be_intrastat/wizard/xml_decl.py index db814691b77..f7d01db30d1 100644 --- a/addons/l10n_be_intrastat/wizard/xml_decl.py +++ b/addons/l10n_be_intrastat/wizard/xml_decl.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import base64 -import xml.etree.ElementTree as ET +from xml.etree import ElementTree as ET from collections import namedtuple from odoo import api, exceptions, fields, models, _ diff --git a/addons/lunch/models/lunch.py b/addons/lunch/models/lunch.py index c94dfd21d84..f4e5b16430b 100644 --- a/addons/lunch/models/lunch.py +++ b/addons/lunch/models/lunch.py @@ -8,7 +8,7 @@ import datetime from odoo import api, fields, models, _ from odoo.exceptions import AccessError, ValidationError -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo.tools import pycompat diff --git a/addons/marketing_campaign/models/marketing_campaign.py b/addons/marketing_campaign/models/marketing_campaign.py index 4c3b61c05cf..0d6f20a0506 100644 --- a/addons/marketing_campaign/models/marketing_campaign.py +++ b/addons/marketing_campaign/models/marketing_campaign.py @@ -12,7 +12,7 @@ from odoo.exceptions import UserError, ValidationError from odoo.tools import pycompat from odoo.tools.safe_eval import safe_eval -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp _intervalTypes = { 'hours': lambda interval: relativedelta(hours=interval), diff --git a/addons/membership/models/membership.py b/addons/membership/models/membership.py index 2df513ebddf..900ee18755b 100644 --- a/addons/membership/models/membership.py +++ b/addons/membership/models/membership.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp STATE = [ ('none', 'Non Member'), diff --git a/addons/membership/wizard/membership_invoice.py b/addons/membership/wizard/membership_invoice.py index dd77e54f0a1..d516eb821b1 100644 --- a/addons/membership/wizard/membership_invoice.py +++ b/addons/membership/wizard/membership_invoice.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class MembershipInvoice(models.TransientModel): diff --git a/addons/payment_authorize/models/authorize_request.py b/addons/payment_authorize/models/authorize_request.py index 21716ec558f..fee45016140 100644 --- a/addons/payment_authorize/models/authorize_request.py +++ b/addons/payment_authorize/models/authorize_request.py @@ -2,7 +2,7 @@ import requests from lxml import etree, objectify from StringIO import StringIO -import xml.etree.ElementTree as ET +from xml.etree import ElementTree as ET from uuid import uuid4 from odoo.exceptions import ValidationError, UserError diff --git a/addons/point_of_sale/models/pos_order.py b/addons/point_of_sale/models/pos_order.py index a485a704978..0dd1afa9cde 100644 --- a/addons/point_of_sale/models/pos_order.py +++ b/addons/point_of_sale/models/pos_order.py @@ -10,7 +10,7 @@ from odoo import api, fields, models, tools, _ from odoo.tools import float_is_zero, pycompat from odoo.exceptions import UserError from odoo.http import request -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp _logger = logging.getLogger(__name__) diff --git a/addons/procurement/models/procurement.py b/addons/procurement/models/procurement.py index f9b9ef8119b..e0dc2e97889 100644 --- a/addons/procurement/models/procurement.py +++ b/addons/procurement/models/procurement.py @@ -6,7 +6,7 @@ from psycopg2 import OperationalError from odoo import api, fields, models, registry, _ from odoo.exceptions import UserError -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp PROCUREMENT_PRIORITIES = [('0', 'Not urgent'), ('1', 'Normal'), ('2', 'Urgent'), ('3', 'Very Urgent')] diff --git a/addons/product/models/product.py b/addons/product/models/product.py index 621f3636e5c..dd7f147703c 100644 --- a/addons/product/models/product.py +++ b/addons/product/models/product.py @@ -7,7 +7,7 @@ from odoo import api, fields, models, tools, _ from odoo.exceptions import ValidationError from odoo.osv import expression -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo.tools import pycompat diff --git a/addons/product/models/product_pricelist.py b/addons/product/models/product_pricelist.py index a5e5d92fd2b..0b55a2c36e1 100644 --- a/addons/product/models/product_pricelist.py +++ b/addons/product/models/product_pricelist.py @@ -6,7 +6,7 @@ from itertools import chain from odoo import api, fields, models, tools, _ from odoo.exceptions import UserError, ValidationError -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo.tools import pycompat diff --git a/addons/product/models/product_template.py b/addons/product/models/product_template.py index ceb15d85e27..100b59c272b 100644 --- a/addons/product/models/product_template.py +++ b/addons/product/models/product_template.py @@ -4,7 +4,7 @@ import itertools import psycopg2 -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo import api, fields, models, tools, _ from odoo.exceptions import ValidationError, except_orm diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index ac9a9029e0f..3dc6e9cb614 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -10,7 +10,7 @@ from odoo.tools.float_utils import float_is_zero, float_compare from odoo.exceptions import UserError, AccessError from odoo.tools.misc import formatLang from odoo.addons.base.res.res_partner import WARNING_MESSAGE, WARNING_HELP -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class PurchaseOrder(models.Model): diff --git a/addons/purchase_requisition/models/purchase_requisition.py b/addons/purchase_requisition/models/purchase_requisition.py index aefb01460ce..c133fbd9382 100644 --- a/addons/purchase_requisition/models/purchase_requisition.py +++ b/addons/purchase_requisition/models/purchase_requisition.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models, _ -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo.exceptions import UserError diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index 9582cc7579f..a06672623d3 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -9,7 +9,7 @@ from odoo.exceptions import UserError from odoo.tools import float_is_zero, float_compare, DEFAULT_SERVER_DATETIME_FORMAT, pycompat from odoo.tools.misc import formatLang -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class SaleOrder(models.Model): diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index 886d80d19bd..976b6ae2dfe 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -4,7 +4,7 @@ import time from odoo import api, fields, models, _ -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo.exceptions import UserError diff --git a/addons/sale_margin/models/sale_order.py b/addons/sale_margin/models/sale_order.py index 63dc3f872f0..06b6a1a3874 100644 --- a/addons/sale_margin/models/sale_order.py +++ b/addons/sale_margin/models/sale_order.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class SaleOrderLine(models.Model): diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index e67697e2bcc..2f97218ce72 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -4,7 +4,7 @@ import datetime from itertools import islice import json -import xml.etree.ElementTree as ET +from xml.etree import ElementTree as ET import logging import re diff --git a/addons/website_quote/models/sale_order.py b/addons/website_quote/models/sale_order.py index eedc90b2a40..c7d09e139c8 100644 --- a/addons/website_quote/models/sale_order.py +++ b/addons/website_quote/models/sale_order.py @@ -6,7 +6,7 @@ from datetime import datetime, timedelta from odoo import api, fields, models, _ from odoo.tools.translate import html_translate -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class SaleOrderLine(models.Model): diff --git a/addons/website_quote/models/sale_quote.py b/addons/website_quote/models/sale_quote.py index 42cfefe475b..ff7b1f04ab3 100644 --- a/addons/website_quote/models/sale_quote.py +++ b/addons/website_quote/models/sale_quote.py @@ -3,7 +3,7 @@ from odoo import api, fields, models from odoo.tools.translate import html_translate -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp class SaleQuoteTemplate(models.Model): diff --git a/addons/website_sale/models/product.py b/addons/website_sale/models/product.py index 05ed4c78500..0a379588071 100644 --- a/addons/website_sale/models/product.py +++ b/addons/website_sale/models/product.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models, tools, _ -import odoo.addons.decimal_precision as dp +from odoo.addons import decimal_precision as dp from odoo.tools import pycompat from odoo.tools.translate import html_translate diff --git a/odoo/addons/base/tests/test_expression.py b/odoo/addons/base/tests/test_expression.py index 87099e78754..07a087d0842 100644 --- a/odoo/addons/base/tests/test_expression.py +++ b/odoo/addons/base/tests/test_expression.py @@ -6,7 +6,7 @@ import psycopg2 from odoo.models import BaseModel from odoo.tests.common import TransactionCase from odoo.tools import mute_logger, pycompat -import odoo.osv.expression as expression +from odoo.osv import expression class TestExpression(TransactionCase): diff --git a/odoo/addons/base/tests/test_ir_actions.py b/odoo/addons/base/tests/test_ir_actions.py index e5dc0d85de3..c82a5403597 100644 --- a/odoo/addons/base/tests/test_ir_actions.py +++ b/odoo/addons/base/tests/test_ir_actions.py @@ -6,7 +6,7 @@ from psycopg2 import IntegrityError import odoo from odoo.exceptions import UserError, ValidationError from odoo.tools import mute_logger -import odoo.tests.common as common +from odoo.tests import common class TestServerActionsBase(common.TransactionCase): diff --git a/odoo/service/db.py b/odoo/service/db.py index e451b151d31..be146ce87e6 100644 --- a/odoo/service/db.py +++ b/odoo/service/db.py @@ -7,7 +7,7 @@ import shutil import tempfile import threading import traceback -import xml.etree.ElementTree as ET +from xml.etree import ElementTree as ET import zipfile from functools import wraps diff --git a/odoo/service/server.py b/odoo/service/server.py index cce101483c6..b4f3dca6c1b 100644 --- a/odoo/service/server.py +++ b/odoo/service/server.py @@ -39,7 +39,7 @@ import odoo from odoo.modules.module import run_unit_tests, runs_post_install from odoo.modules.registry import Registry from odoo.release import nt_service_name -import odoo.tools.config as config +from odoo.tools import config from odoo.tools import stripped_sys_argv, dumpstacks, log_ormcache_stats, pycompat _logger = logging.getLogger(__name__) @@ -212,6 +212,7 @@ class ThreadedServer(CommonServer): self.quit_signals_received += 1 def cron_thread(self, number): + from odoo.addons.base.ir.ir_cron import ir_cron while True: time.sleep(SLEEP_INTERVAL + number) # Steve Reich timing style registries = odoo.modules.registry.Registry.registries @@ -219,7 +220,7 @@ class ThreadedServer(CommonServer): for db_name, registry in pycompat.items(registries): while registry.ready: try: - acquired = odoo.addons.base.ir.ir_cron.ir_cron._acquire_job(db_name) + acquired = ir_cron._acquire_job(db_name) if not acquired: break except Exception: @@ -814,7 +815,7 @@ class WorkerCron(Worker): start_time = time.time() start_rss, start_vms = memory_info(psutil.Process(os.getpid())) - import odoo.addons.base as base + from odoo.addons import base base.ir.ir_cron.ir_cron._acquire_job(db_name) odoo.modules.registry.Registry.delete(db_name) diff --git a/odoo/service/wsgi_server.py b/odoo/service/wsgi_server.py index 46c589157c1..8ef70c8ad36 100644 --- a/odoo/service/wsgi_server.py +++ b/odoo/service/wsgi_server.py @@ -22,7 +22,7 @@ import werkzeug.serving import werkzeug.contrib.fixers import odoo -import odoo.tools.config as config +from odoo.tools import config _logger = logging.getLogger(__name__) diff --git a/odoo/tools/mail.py b/odoo/tools/mail.py index f3396f9137b..7fd6ca833bb 100644 --- a/odoo/tools/mail.py +++ b/odoo/tools/mail.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import logging -import lxml.html.clean as clean +from lxml.html import clean import random import re import socket