From 3c22eb4eeed78f946331516458e249d95b3c4c50 Mon Sep 17 00:00:00 2001 From: Jaime Arroyo Date: Mon, 20 Jul 2020 10:47:41 +0200 Subject: [PATCH] [IMP] base_remote: black, isort, prettier --- base_remote/__manifest__.py | 23 +++++++--------- base_remote/models/__init__.py | 2 -- base_remote/models/base.py | 9 +++--- base_remote/models/res_remote.py | 35 ++++++++++-------------- base_remote/models/res_users.py | 11 ++++---- base_remote/readme/DESCRIPTION.rst | 2 +- base_remote/tests/test_remote.py | 38 +++++++++++++------------- base_remote/views/res_remote_views.xml | 27 ++++++++++-------- 8 files changed, 70 insertions(+), 77 deletions(-) diff --git a/base_remote/__manifest__.py b/base_remote/__manifest__.py index 1613ac032..2a758f727 100644 --- a/base_remote/__manifest__.py +++ b/base_remote/__manifest__.py @@ -2,17 +2,14 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - 'name': "Remote Base", - 'version': '12.0.1.0.1', - 'category': 'Generic Modules/Base', - 'author': "Creu Blanca, Odoo Community Association (OCA)", - 'website': 'http://github.com/OCA/server-tools', - 'license': 'AGPL-3', - "depends": ['web'], - 'data': [ - 'security/ir.model.access.csv', - 'views/res_remote_views.xml', - ], - 'installable': True, - 'application': True, + "name": "Remote Base", + "version": "13.0.1.0.1", + "category": "Generic Modules/Base", + "author": "Creu Blanca, Odoo Community Association (OCA)", + "website": "http://github.com/OCA/server-tools", + "license": "AGPL-3", + "depends": ["web"], + "data": ["security/ir.model.access.csv", "views/res_remote_views.xml"], + "installable": True, + "application": True, } diff --git a/base_remote/models/__init__.py b/base_remote/models/__init__.py index 11252a793..afa66d0dc 100644 --- a/base_remote/models/__init__.py +++ b/base_remote/models/__init__.py @@ -1,5 +1,3 @@ from . import base from . import res_remote from . import res_users - - diff --git a/base_remote/models/base.py b/base_remote/models/base.py index c534ad13e..cb128d5c0 100644 --- a/base_remote/models/base.py +++ b/base_remote/models/base.py @@ -1,17 +1,18 @@ # Copyright 2018 Creu Blanca # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import models from threading import current_thread +from odoo import models + class Base(models.AbstractModel): - _inherit = 'base' + _inherit = "base" @property def remote(self): try: remote_addr = current_thread().environ["REMOTE_ADDR"] except (KeyError, AttributeError): - return self.env['res.remote'] - return self.env['res.remote']._get_remote(remote_addr) + return self.env["res.remote"] + return self.env["res.remote"]._get_remote(remote_addr) diff --git a/base_remote/models/res_remote.py b/base_remote/models/res_remote.py index bd90ee4fe..8e57d9bc1 100644 --- a/base_remote/models/res_remote.py +++ b/base_remote/models/res_remote.py @@ -1,36 +1,29 @@ # Copyright 2018 Creu Blanca # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import api, models, fields -import socket import logging +import socket + +from odoo import api, fields, models class ResRemote(models.Model): - _name = 'res.remote' - _description = 'Remotes' + _name = "res.remote" + _description = "Remotes" - name = fields.Char( - required=True, - string='Hostname', - index=True, - readonly=True - ) + name = fields.Char(required=True, string="Hostname", index=True, readonly=True) ip = fields.Char(required=True) in_network = fields.Boolean( - required=True, - help='Shows if the remote can be found through the socket' + required=True, help="Shows if the remote can be found through the socket" ) - _sql_constraints = [ - ('name_unique', 'unique(name)', 'Hostname must be unique') - ] + _sql_constraints = [("name_unique", "unique(name)", "Hostname must be unique")] @api.model def _create_vals(self, addr, hostname): return { - 'name': hostname or addr, - 'ip': addr, - 'in_network': bool(hostname), + "name": hostname or addr, + "ip": addr, + "in_network": bool(hostname), } @api.model @@ -38,12 +31,12 @@ class ResRemote(models.Model): try: hostname, alias, ips = socket.gethostbyaddr(addr) except socket.herror: - logging.warning('Remote with ip %s could not be found' % addr) + logging.warning("Remote with ip %s could not be found" % addr) hostname = False - remote = self.search([('name', '=ilike', hostname or addr)]) + remote = self.search([("name", "=ilike", hostname or addr)]) if not remote: remote = self.create(self._create_vals(addr, hostname)) if remote.ip != addr: # IPs can change through time, but hostname should not change - remote.write({'ip': addr}) + remote.write({"ip": addr}) return remote diff --git a/base_remote/models/res_users.py b/base_remote/models/res_users.py index 50996a77e..09d2c17b6 100644 --- a/base_remote/models/res_users.py +++ b/base_remote/models/res_users.py @@ -2,7 +2,8 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from threading import current_thread -from odoo import api, models, SUPERUSER_ID + +from odoo import SUPERUSER_ID, api, models from odoo.exceptions import AccessDenied from odoo.service import wsgi_server from odoo.tools import config @@ -31,7 +32,7 @@ class ResUsers(models.Model): with cls.pool.cursor() as cr: env = api.Environment(cr, SUPERUSER_ID, {}) remote = env["res.users"].remote - if not config['test_enable']: + if not config["test_enable"]: remote.ensure_one() result = method() if not result: @@ -43,8 +44,7 @@ class ResUsers(models.Model): @classmethod def _login(cls, db, login, password): return cls._auth_check_remote( - login, - lambda: super(ResUsers, cls)._login(db, login, password), + login, lambda: super(ResUsers, cls)._login(db, login, password), ) @classmethod @@ -52,5 +52,6 @@ class ResUsers(models.Model): return cls._auth_check_remote( login, lambda: super(ResUsers, cls).authenticate( - db, login, password, user_agent_env), + db, login, password, user_agent_env + ), ) diff --git a/base_remote/readme/DESCRIPTION.rst b/base_remote/readme/DESCRIPTION.rst index 01d99917a..be5ce4d3f 100644 --- a/base_remote/readme/DESCRIPTION.rst +++ b/base_remote/readme/DESCRIPTION.rst @@ -1,2 +1,2 @@ This module allows to store all the connected remotes (external ip addresses) to Odoo. -It should be used with other modules in order to check remote's configurations. \ No newline at end of file +It should be used with other modules in order to check remote's configurations. diff --git a/base_remote/tests/test_remote.py b/base_remote/tests/test_remote.py index 4eaa0b08b..85941f5cd 100644 --- a/base_remote/tests/test_remote.py +++ b/base_remote/tests/test_remote.py @@ -5,7 +5,7 @@ from mock import patch from werkzeug.utils import redirect from odoo import http -from odoo.tests.common import at_install, HttpCase, post_install +from odoo.tests.common import HttpCase, at_install, post_install @at_install(False) @@ -24,39 +24,39 @@ class TestRemote(HttpCase): "login": "demo", "password": "Demo%&/(908409**", } - self.remote_addr = '127.0.0.1' + self.remote_addr = "127.0.0.1" with self.cursor() as cr: env = self.env(cr) # Make sure involved users have good passwords env.user.password = self.good_password - env["res.users"].search([ - ("login", "=", self.data_demo["login"]), - ]).password = self.data_demo["password"] - remote = self.env['res.remote'].search([ - ('ip', '=', self.remote_addr) - ]) + env["res.users"].search( + [("login", "=", self.data_demo["login"])] + ).password = self.data_demo["password"] + remote = self.env["res.remote"].search([("ip", "=", self.remote_addr)]) if remote: remote.unlink() def test_xmlrpc_login_ok(self, *args): """Test Login""" data1 = self.data_demo - self.assertTrue(self.xmlrpc_common.authenticate( - self.env.cr.dbname, data1["login"], data1["password"], {})) + self.assertTrue( + self.xmlrpc_common.authenticate( + self.env.cr.dbname, data1["login"], data1["password"], {} + ) + ) with self.cursor() as cr: env = self.env(cr) - self.assertTrue( - env['res.remote'].search([('ip', '=', self.remote_addr)]) - ) + self.assertTrue(env["res.remote"].search([("ip", "=", self.remote_addr)])) def test_xmlrpc_login_failure(self, *args): """Test Login Failure""" data1 = self.data_demo - data1['password'] = 'Failure!' - self.assertFalse(self.xmlrpc_common.authenticate( - self.env.cr.dbname, data1["login"], data1["password"], {})) + data1["password"] = "Failure!" + self.assertFalse( + self.xmlrpc_common.authenticate( + self.env.cr.dbname, data1["login"], data1["password"], {} + ) + ) with self.cursor() as cr: env = self.env(cr) - self.assertTrue( - env['res.remote'].search([('ip', '=', self.remote_addr)]) - ) + self.assertTrue(env["res.remote"].search([("ip", "=", self.remote_addr)])) diff --git a/base_remote/views/res_remote_views.xml b/base_remote/views/res_remote_views.xml index 143150afc..582ab9c24 100644 --- a/base_remote/views/res_remote_views.xml +++ b/base_remote/views/res_remote_views.xml @@ -7,15 +7,17 @@
-

+

+ +

- - + + - +
@@ -25,8 +27,8 @@ res.remote - - + + @@ -37,10 +39,11 @@ form tree,form - - +