diff --git a/addons/account/tests/test_reconciliation.py b/addons/account/tests/test_reconciliation.py index 8f49ee0e734..73a450ae25a 100644 --- a/addons/account/tests/test_reconciliation.py +++ b/addons/account/tests/test_reconciliation.py @@ -1,3 +1,4 @@ +from odoo import api from odoo.addons.account.tests.account_test_classes import AccountingTestCase import time import unittest diff --git a/addons/base_sparse_field/models/models.py b/addons/base_sparse_field/models/models.py index ef5fc4e5dbf..77ea36a6bd8 100644 --- a/addons/base_sparse_field/models/models.py +++ b/addons/base_sparse_field/models/models.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- -from odoo import models, fields, api +from odoo import models, fields, api, _ +from odoo.exceptions import UserError class IrModelFields(models.Model): diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py index cbbbfe855b3..8f701194494 100644 --- a/addons/mail/models/mail_channel.py +++ b/addons/mail/models/mail_channel.py @@ -4,7 +4,7 @@ import base64 from email.utils import formataddr import re -import uuid +from uuid import uuid4 from odoo import _, api, fields, models, modules, tools from odoo.exceptions import UserError @@ -56,7 +56,7 @@ class Channel(models.Model): ('channel', 'Channel')], 'Channel Type', default='channel') description = fields.Text('Description') - uuid = fields.Char('UUID', size=50, index=True, default=lambda self: '%s' % uuid.uuid4(), copy=False) + uuid = fields.Char('UUID', size=50, index=True, default=lambda self: str(uuid4()), copy=False) email_send = fields.Boolean('Send messages by email', default=False) # multi users channel channel_last_seen_partner_ids = fields.One2many('mail.channel.partner', 'channel_id', string='Last Seen') diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index cad08436916..afd0f6353a3 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import uuid +from uuid import uuid4 from odoo import api, fields, models, _ from odoo.exceptions import ValidationError @@ -110,7 +110,7 @@ class PosConfig(models.Model): proxy_ip = fields.Char(string='IP Address', size=45, help='The hostname or ip address of the hardware proxy, Will be autodetected if left empty.') active = fields.Boolean(default=True) - uuid = fields.Char(readonly=True, default=lambda self: str(uuid.uuid4()), + uuid = fields.Char(readonly=True, default=lambda self: str(uuid4()), help='A globally unique identifier for this pos configuration, used to prevent conflicts in client-generated data.') sequence_id = fields.Many2one('ir.sequence', string='Order IDs Sequence', readonly=True, help="This sequence is automatically created by Odoo but you can change it " diff --git a/addons/stock_account/models/account_invoice.py b/addons/stock_account/models/account_invoice.py index 5f9263dbbc1..60842b1bef4 100644 --- a/addons/stock_account/models/account_invoice.py +++ b/addons/stock_account/models/account_invoice.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, models +from odoo import api, models, fields import logging diff --git a/odoo/addons/test_pylint/tests/test_pylint.py b/odoo/addons/test_pylint/tests/test_pylint.py index e067c87a5fe..dcea3ba01b1 100644 --- a/odoo/addons/test_pylint/tests/test_pylint.py +++ b/odoo/addons/test_pylint/tests/test_pylint.py @@ -24,9 +24,10 @@ _logger = logging.getLogger(__name__) class TestPyLint(TransactionCase): ENABLED_CODES = [ - 'E0601', # using variable before assignment - 'W0123', # eval used - 'W0101', # unreachable code + 'used-before-assignment', + 'undefined-variable', + 'eval-used', + 'unreachable', 'mixed-indentation', diff --git a/odoo/fields.py b/odoo/fields.py index a1f434db849..58f7dc67dcb 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -1630,7 +1630,8 @@ class Datetime(Field): # Received data is returned as buffer (in Python 2) or memoryview (in Python 3). _BINARY = memoryview if pycompat.PY2: - _BINARY = buffer #pylint: disable=buffer-builtin + #pylint: disable=buffer-builtin,undefined-variable + _BINARY = buffer class Binary(Field): type = 'binary' diff --git a/odoo/modules/migration.py b/odoo/modules/migration.py index e512d331caa..28a9c1c170d 100644 --- a/odoo/modules/migration.py +++ b/odoo/modules/migration.py @@ -21,7 +21,8 @@ if pycompat.PY2: fp, fname = tools.file_open(path, pathinfo=True) fp2 = None - if not isinstance(fp, file): # pylint: disable=file-builtin + # pylint: disable=file-builtin,undefined-variable + if not isinstance(fp, file): # imp.load_source need a real file object, so we create # one from the file-like object we get from file_open fp2 = os.tmpfile() diff --git a/odoo/tools/misc.py b/odoo/tools/misc.py index 2f43c58e02d..17518ce1525 100644 --- a/odoo/tools/misc.py +++ b/odoo/tools/misc.py @@ -1069,7 +1069,7 @@ def formatLang(env, value, digits=None, grouping=True, monetary=False, dp=False, digits = decimal_precision_obj.precision_get(dp) elif currency_obj: digits = currency_obj.decimal_places - elif (hasattr(value, '_field') and isinstance(value._field, (float_field, function_field)) and value._field.digits): + elif (hasattr(value, '_field') and getattr(value._field, 'digits', None)): digits = value._field.digits[1] if not digits and digits is not 0: digits = DEFAULT_DIGITS diff --git a/odoo/tools/pycompat.py b/odoo/tools/pycompat.py index 14195c4fa79..5f25e23e977 100644 --- a/odoo/tools/pycompat.py +++ b/odoo/tools/pycompat.py @@ -13,7 +13,7 @@ PY2 = sys.version_info[0] == 2 _Writer = collections.namedtuple('_Writer', 'writerow writerows') if PY2: - # pylint: disable=long-builtin,unichr-builtin,unicode-builtin + # pylint: disable=long-builtin,unichr-builtin,unicode-builtin,undefined-variable unichr = unichr text_type = unicode string_types = (str, unicode) diff --git a/odoo/tools/xml_utils.py b/odoo/tools/xml_utils.py index 864f1ce0caa..eb5b8b203bf 100644 --- a/odoo/tools/xml_utils.py +++ b/odoo/tools/xml_utils.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from lxml import etree from odoo.tools.misc import file_open - +from odoo.exceptions import UserError def check_with_xsd(tree_or_str, stream): raise UserError("Method 'check_with_xsd' deprecated ")