diff --git a/odoo_openupgrade_wizard/cli_run.py b/odoo_openupgrade_wizard/cli_run.py index cf2b35c..d716e03 100644 --- a/odoo_openupgrade_wizard/cli_run.py +++ b/odoo_openupgrade_wizard/cli_run.py @@ -7,7 +7,6 @@ from odoo_openupgrade_wizard.cli_options import ( step_option, ) from odoo_openupgrade_wizard.tools_odoo import kill_odoo, run_odoo -from odoo_openupgrade_wizard.tools_odoo_instance import get_odoo_url from odoo_openupgrade_wizard.tools_postgres import ensure_database @@ -43,7 +42,9 @@ def run(ctx, step, database, stop_after_init, init_modules): ) if not stop_after_init: logger.info( - "Odoo is available on your host at %s" % get_odoo_url(ctx) + "Odoo is available on your host at" + " http://localhost:%s" + % ctx.obj["config"]["odoo_host_xmlrpc_port"] ) input("Press 'Enter' to kill the odoo container and exit ...") except (KeyboardInterrupt, SystemExit): diff --git a/odoo_openupgrade_wizard/tools_odoo.py b/odoo_openupgrade_wizard/tools_odoo.py index e96bb56..b517e20 100644 --- a/odoo_openupgrade_wizard/tools_odoo.py +++ b/odoo_openupgrade_wizard/tools_odoo.py @@ -145,6 +145,7 @@ def run_odoo( stop_after_init: bool = False, shell: bool = False, demo: bool = False, + alternative_xml_rpc_port: int = False, ): logger.info( "Launching Odoo Container (Release {release}) for {db_text}" @@ -181,8 +182,9 @@ def run_odoo( get_docker_container_name(ctx, migration_step), command=command, ports={ - "8069": ctx.obj["config"]["odoo_host_xmlrpc_port"], - # "5432": ctx.obj["config"]["postgres_host_port"], + "8069": alternative_xml_rpc_port + and alternative_xml_rpc_port + or ctx.obj["config"]["odoo_host_xmlrpc_port"], }, volumes=[ "%s:/env/" % (env_path), diff --git a/odoo_openupgrade_wizard/tools_odoo_instance.py b/odoo_openupgrade_wizard/tools_odoo_instance.py index e8cd972..2f2eb4c 100644 --- a/odoo_openupgrade_wizard/tools_odoo_instance.py +++ b/odoo_openupgrade_wizard/tools_odoo_instance.py @@ -4,11 +4,6 @@ import time import odoorpc from loguru import logger - -def get_odoo_url(ctx) -> str: - return "http://0.0.0.0:%d" % (ctx.obj["config"]["odoo_host_xmlrpc_port"]) - - _ODOO_RPC_MAX_TRY = 60 _ODOO_RPC_TIMEOUT = 60 @@ -18,12 +13,16 @@ class OdooInstance: env = False version = False - def __init__(self, ctx, database): + def __init__(self, ctx, database, alternative_xml_rpc_port=False): # # TODO, improve me waith for response on http://localhost:port # # with a time out # # the docker container take a little time to be up. # time.sleep(60) - port = ctx.obj["config"]["odoo_host_xmlrpc_port"] + port = ( + alternative_xml_rpc_port + and alternative_xml_rpc_port + or ctx.obj["config"]["odoo_host_xmlrpc_port"] + ) logger.info( "Connect to Odoo instance via odoorpc (Port %s)... " % port ) @@ -62,9 +61,10 @@ class OdooInstance: ) except Exception as e: logger.error( - "Unable to connect to %s with login %s and password %s" + "Unable to connect to http://localhost:%s" + " with login %s and password %s" % ( - get_odoo_url(ctx), + port, "admin", "admin", )