diff --git a/addons/base_vat/tests/test_validate_ruc.py b/addons/base_vat/tests/test_validate_ruc.py index 32cf2edef15ff26aec3163c4275db0453a66e6ef..9f65d5aab374793629ed822db70b5644ff9762b3 100644 --- a/addons/base_vat/tests/test_validate_ruc.py +++ b/addons/base_vat/tests/test_validate_ruc.py @@ -1,10 +1,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo.tests import common from odoo.exceptions import ValidationError -try: - from unittest.mock import patch -except ImportError: - from mock import patch +from unittest.mock import patch from stdnum.eu import vat diff --git a/addons/hw_drivers/drivers/KeyboardUSBDriver.py b/addons/hw_drivers/drivers/KeyboardUSBDriver.py index 97d4e106ca7a094cf9bf2510cf7c80e49a5a351b..e7cd1d15a531b3093f869dcccc7a8b16729cc0e7 100644 --- a/addons/hw_drivers/drivers/KeyboardUSBDriver.py +++ b/addons/hw_drivers/drivers/KeyboardUSBDriver.py @@ -13,10 +13,7 @@ import time from threading import Lock from usb import util import urllib3 -try: - from queue import Queue, Empty -except ImportError: - from Queue import Queue, Empty # pylint: disable=deprecated-module +from queue import Queue, Empty from odoo import http, _ from odoo.addons.hw_proxy.controllers.main import drivers as old_drivers diff --git a/addons/hw_escpos/controllers/main.py b/addons/hw_escpos/controllers/main.py index 2b68ce1b53fbfc84da19660209f5e6be4dc21e2f..091a6bc5e533ad66446b11c67ba19ed5c0341887 100644 --- a/addons/hw_escpos/controllers/main.py +++ b/addons/hw_escpos/controllers/main.py @@ -18,10 +18,7 @@ try: except ImportError: escpos = printer = None -try: - from queue import Queue -except ImportError: - from Queue import Queue # pylint: disable=deprecated-module +from queue import Queue from threading import Thread, Lock try: diff --git a/addons/l10n_it_edi/models/ir_mail_server.py b/addons/l10n_it_edi/models/ir_mail_server.py index 66e1cfa908ffe021149627ea4e67b3847749e6ed..24ccd392a8e306261bd7e5692730c0f81c4def15 100644 --- a/addons/l10n_it_edi/models/ir_mail_server.py +++ b/addons/l10n_it_edi/models/ir_mail_server.py @@ -10,14 +10,10 @@ import email.policy import dateutil import pytz import base64 -try: - from xmlrpc import client as xmlrpclib -except ImportError: - import xmlrpclib - from lxml import etree from datetime import datetime +from xmlrpc import client as xmlrpclib from odoo import api, fields, models, tools, _ from odoo.exceptions import ValidationError, UserError diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py index 43d705b1c7990d4c81455080f0c1474e9c73dbb2..ff31ce7deb636ee39eaf594483aa3ebef3ff4748 100644 --- a/addons/mail/models/mail_thread.py +++ b/addons/mail/models/mail_thread.py @@ -16,15 +16,12 @@ import re import socket import time import threading -try: - from xmlrpc import client as xmlrpclib -except ImportError: - import xmlrpclib from collections import namedtuple from email.message import EmailMessage from lxml import etree from werkzeug import urls +from xmlrpc import client as xmlrpclib from odoo import _, api, exceptions, fields, models, tools, registry, SUPERUSER_ID from odoo.exceptions import MissingError diff --git a/addons/mass_mailing/tests/test_mass_mailing_shortener.py b/addons/mass_mailing/tests/test_mass_mailing_shortener.py index 681bbbf0062386b66632741222f7710c818a8866..35ca6a978e3666ac79eea17d8ff384fd302ab87e 100644 --- a/addons/mass_mailing/tests/test_mass_mailing_shortener.py +++ b/addons/mass_mailing/tests/test_mass_mailing_shortener.py @@ -3,11 +3,7 @@ from odoo.tests import common from lxml import etree - -try: - from unittest.mock import patch -except ImportError: - from mock import patch +from unittest.mock import patch class TestMassMailingShortener(common.TransactionCase): diff --git a/addons/website/tests/test_views.py b/addons/website/tests/test_views.py index ad060103d24730065bf2d9cf9584922a8b20da15..6abcef13aafa9f109988b3aef9ff01506903db16 100644 --- a/addons/website/tests/test_views.py +++ b/addons/website/tests/test_views.py @@ -1,12 +1,8 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -try: - from itertools import zip_longest -except ImportError: - from itertools import izip_longest as zip_longest - import unittest +from itertools import zip_longest from lxml import etree as ET, html from lxml.html import builder as h diff --git a/addons/website/tests/test_website_reset_password.py b/addons/website/tests/test_website_reset_password.py index a8ec713cc8aae6b3f9c63dffa0b9c658ec424b1b..b3b4e0333e0e5245ef7f1b1b6ffaf3d35469ce1a 100644 --- a/addons/website/tests/test_website_reset_password.py +++ b/addons/website/tests/test_website_reset_password.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -try: - from unittest.mock import patch -except ImportError: - from mock import patch +from unittest.mock import patch import odoo from odoo.tests import tagged diff --git a/addons/website_crm_partner_assign/tests/test_partner_assign.py b/addons/website_crm_partner_assign/tests/test_partner_assign.py index 9bf146ab107c9f5517bfbe45eed02b066a03808c..4a376b4b132b70a3d3cd51c39a0ef35258b251a0 100644 --- a/addons/website_crm_partner_assign/tests/test_partner_assign.py +++ b/addons/website_crm_partner_assign/tests/test_partner_assign.py @@ -1,12 +1,9 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -try: - from unittest.mock import patch -except ImportError: - from mock import patch -from odoo.exceptions import AccessError +from unittest.mock import patch +from odoo.exceptions import AccessError from odoo.tests.common import TransactionCase from odoo.addons.crm.tests.common import TestCrmCommon from odoo.addons.mail.tests.common import mail_new_test_user diff --git a/addons/website_sale/tests/test_website_sale_mail.py b/addons/website_sale/tests/test_website_sale_mail.py index 36ca65993b32dba722d02d81761823f894cb942c..4962dd0de5e84aec78f6904c85121c49b195a6c4 100644 --- a/addons/website_sale/tests/test_website_sale_mail.py +++ b/addons/website_sale/tests/test_website_sale_mail.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -try: - from unittest.mock import patch -except ImportError: - from mock import patch +from unittest.mock import patch import odoo from odoo.tests import tagged diff --git a/addons/website_sale/tests/test_website_sale_pricelist.py b/addons/website_sale/tests/test_website_sale_pricelist.py index d0087b2b1b050ecd4da3e143cf4f30a06e1c0cfb..04306b9b263c25fc62ce50452d045bde6165886c 100644 --- a/addons/website_sale/tests/test_website_sale_pricelist.py +++ b/addons/website_sale/tests/test_website_sale_pricelist.py @@ -1,9 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -try: - from unittest.mock import patch -except ImportError: - from mock import patch +from unittest.mock import patch + from odoo.addons.base.tests.common import TransactionCaseWithUserDemo, HttpCaseWithUserPortal from odoo.tests import tagged from odoo.tests.common import HttpCase, TransactionCase diff --git a/debian/control b/debian/control index 4468eebc4f71fc5c0499c05dd60c13e892fc80bc..c8fdd67b96c9bb71ed2d491bb291527911abe8f8 100644 --- a/debian/control +++ b/debian/control @@ -28,7 +28,6 @@ Depends: python3-libsass, python3-lxml, python3-mako, - python3-mock, python3-passlib, python3-polib, python3-psutil, diff --git a/doc/_extensions/odoo_ext/translator.py b/doc/_extensions/odoo_ext/translator.py index 14e4b20b144bf15259be1391f7d0cc07d0850829..5760f184b828b4e1d0482a72d868e32f26a2a40c 100644 --- a/doc/_extensions/odoo_ext/translator.py +++ b/doc/_extensions/odoo_ext/translator.py @@ -4,14 +4,11 @@ from __future__ import print_function import os.path import posixpath import re -try: - from urllib.request import url2pathname # pylint: disable=deprecated-module -except ImportError: - from urllib import url2pathname # pylint: disable=deprecated-module from docutils import nodes from sphinx import addnodes, util, builders from sphinx.locale import admonitionlabels +from urllib.request import url2pathname def _parents(node): diff --git a/odoo/addons/test_new_api/tests/test_onchange.py b/odoo/addons/test_new_api/tests/test_onchange.py index 51f313616ac051da99035655ae4f825102f47c8e..5bffeae5f863b348e5f6b1c6187e626bdafa4305 100644 --- a/odoo/addons/test_new_api/tests/test_onchange.py +++ b/odoo/addons/test_new_api/tests/test_onchange.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -try: - from unittest.mock import patch -except ImportError: - from mock import patch +from unittest.mock import patch from odoo.addons.base.tests.common import SavepointCaseWithUserDemo from odoo.tests import common diff --git a/odoo/addons/test_populate/tests/test_populate.py b/odoo/addons/test_populate/tests/test_populate.py index 09243fefdea9e720dc9bc9857d1059e1552ecbdb..0a5c80d80253ba0750cd1864ddef938145db4ebd 100644 --- a/odoo/addons/test_populate/tests/test_populate.py +++ b/odoo/addons/test_populate/tests/test_populate.py @@ -5,10 +5,7 @@ import logging from odoo.tests import common from odoo.cli.populate import Populate from odoo.tools import mute_logger, populate -try: - from unittest.mock import patch -except ImportError: - from mock import patch +from unittest.mock import patch _logger = logging.getLogger(__name__) @@ -154,4 +151,4 @@ class TestPopulateMissing(common.TransactionCase): if no_factory_fields: _logger.info('Model %s has some undefined field: %s', model._name, no_factory_fields) - _logger.info('No populate factories defiend for %s', no_factory_models) \ No newline at end of file + _logger.info('No populate factories defiend for %s', no_factory_models) diff --git a/odoo/fields.py b/odoo/fields.py index 38dd2b8d8337f8785e3031853545ad105bd870e0..2d38e9ff8e34a4ae3ec72e52d1e036fa0731bec4 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -6,18 +6,12 @@ from collections import defaultdict from datetime import date, datetime, time from operator import attrgetter +from xmlrpc.client import MAXINT import itertools import logging import base64 import binascii import pytz - -try: - from xmlrpc.client import MAXINT -except ImportError: - #pylint: disable=bad-python3-import - from xmlrpclib import MAXINT - import psycopg2 from .tools import ( diff --git a/odoo/service/wsgi_server.py b/odoo/service/wsgi_server.py index c29d91a2fbc4bdddbe9901a319911ccde2fd0a44..65ca8806df91bbb9b21b98c031501ecf47b4e5a9 100644 --- a/odoo/service/wsgi_server.py +++ b/odoo/service/wsgi_server.py @@ -12,12 +12,7 @@ import sys import threading import traceback - -try: - from xmlrpc import client as xmlrpclib -except ImportError: - # pylint: disable=bad-python3-import - import xmlrpclib +from xmlrpc import client as xmlrpclib import werkzeug.exceptions import werkzeug.wrappers diff --git a/odoo/tests/common.py b/odoo/tests/common.py index 610ead0cbf92888c59072d9417a810b132bde8e7..7dc9ba076f28417e69e9412c4efa8c0861f9c214 100644 --- a/odoo/tests/common.py +++ b/odoo/tests/common.py @@ -32,7 +32,9 @@ from datetime import datetime, date from unittest.mock import patch from decorator import decorator +from itertools import zip_longest as izip_longest from lxml import etree, html +from xmlrpc import client as xmlrpclib from odoo.models import BaseModel from odoo.osv.expression import normalize_domain, TRUE_LEAF, FALSE_LEAF @@ -40,22 +42,12 @@ from odoo.tools import float_compare, single_email_re from odoo.tools.misc import find_in_path from odoo.tools.safe_eval import safe_eval -try: - from itertools import zip_longest as izip_longest -except ImportError: - from itertools import izip_longest - try: import websocket except ImportError: # chrome headless tests will be skipped websocket = None -try: - from xmlrpc import client as xmlrpclib -except ImportError: - # pylint: disable=bad-python3-import - import xmlrpclib import odoo import pprint diff --git a/odoo/tools/appdirs.py b/odoo/tools/appdirs.py index 67ba75625c191b5c2ff1cfd751bd14f03c300d7b..5f5b7bd9d7d1ea399b6bb43db85e6b2bf64c8a7c 100644 --- a/odoo/tools/appdirs.py +++ b/odoo/tools/appdirs.py @@ -367,11 +367,7 @@ def _get_win_folder_from_registry(csidl_name): registry for this guarantees us the correct answer for all CSIDL_* names. """ - try: - import winreg as _winreg - except ImportError: - # pylint: disable=bad-python3-import - import _winreg + import winreg as _winreg shell_folder_name = { "CSIDL_APPDATA": "AppData", diff --git a/odoo/tools/config.py b/odoo/tools/config.py index 65e22cc37afe3bb344e3f0122436ac07873abc25..c9f6e2556c3064a73f21b7a188b7996ccc3d379b 100644 --- a/odoo/tools/config.py +++ b/odoo/tools/config.py @@ -1,11 +1,7 @@ #odoo.loggers.handlers. -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -try: - import configparser as ConfigParser -except ImportError: - import ConfigParser - +import configparser as ConfigParser import errno import logging import optparse diff --git a/requirements.txt b/requirements.txt index 39680b9c1f4b34642eaa89e7a97ad0f03b2f5c55..8f3ee1b5251ac76d72722fcb390c55045f0aa3bb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,7 +17,6 @@ lxml==4.3.2 ; sys_platform != 'win32' and python_version >= '3.7' lxml ; sys_platform == 'win32' Mako==1.0.7 MarkupSafe==1.1.0 -mock==2.0.0 num2words==0.5.6 ofxparse==0.19 passlib==1.7.1 diff --git a/setup/package.dfdebian b/setup/package.dfdebian index 1caf6033aff2313226a5fb923b7b316cfa143672..65e83d16b74b06a895b3178ac8ecd89fbf9ef322 100644 --- a/setup/package.dfdebian +++ b/setup/package.dfdebian @@ -35,7 +35,6 @@ RUN apt-get update -qq && \ python3-libsass \ python3-lxml \ python3-mako \ - python3-mock \ python3-ofxparse \ python3-passlib \ python3-polib \ diff --git a/setup/package.dffedora b/setup/package.dffedora index ade6d8fece40a4445b7448b12bbf128058f53558..6d9075f851d73670e9a1f4612cc624396980245f 100644 --- a/setup/package.dffedora +++ b/setup/package.dffedora @@ -20,7 +20,6 @@ RUN dnf update -d 0 -e 0 -y && \ python3-lxml \ python3-mako \ python3-markupsafe \ - python3-mock \ python3-num2words \ python3-ofxparse \ python3-passlib \