# HG changeset patch # User Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr> # Date 1635168489 -7200 # Mon Oct 25 15:28:09 2021 +0200 # Node ID 161317f2559ab120a85cf83d9b44419a5f2089f1 # Parent 5bf563e0b9d5d400debce1f5f9ca19a07d66e6b7 ✨ new method to ease developing scripts diff --git a/NEWS.rst b/NEWS.rst --- a/NEWS.rst +++ b/NEWS.rst @@ -2,6 +2,11 @@ History ======= +13.1.0 +------ + +Add a handy method in odoo.py when writing scripts. + 13.0.0 ------ diff --git a/odoo_scripts/__init__.py b/odoo_scripts/__init__.py --- a/odoo_scripts/__init__.py +++ b/odoo_scripts/__init__.py @@ -2,5 +2,5 @@ __author__ = "XCG Consulting" # expose some useful functions -from .odoo import odoo_connect_parser, odoo_login # noqa: F401 +from .odoo import odoo_connect, odoo_connect_parser, odoo_login # noqa: F401 from .parsing import logging_from_verbose # noqa: F401 diff --git a/odoo_scripts/odoo.py b/odoo_scripts/odoo.py --- a/odoo_scripts/odoo.py +++ b/odoo_scripts/odoo.py @@ -3,7 +3,7 @@ import argparse import getpass import logging -from typing import Optional +from typing import Optional, Tuple import odoorpc @@ -20,7 +20,7 @@ port: int, protocol: str, timeout: int, -): +) -> Tuple[odoorpc.ODOO, Optional[int]]: _logger.info( "Connecting to Odoo on <%s://%s:%s> (%s DB)", protocol, @@ -78,3 +78,19 @@ "-d", "--database", help="Odoo database", required=True ) return parser + + +def odoo_connect( + namespace: argparse.Namespace, +) -> Tuple[odoorpc.ODOO, Optional[int]]: + """Return a connection and session id obtained from a namespace obtained + from parsing :func:odoo_connect_parser.""" + return odoo_login( + login=namespace.login, + password=namespace.password, + port=namespace.port, + host=namespace.host, + protocol=namespace.protocol, + timeout=namespace.timeout, + database=namespace.database, + )