diff --git a/NEWS.rst b/NEWS.rst index 40b53081d745b3387b64c5444f1b9f5bbeac2dfc_TkVXUy5yc3Q=..0c5427adec0e505090a49c77ab7622a40611f6cf_TkVXUy5yc3Q= 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -13,6 +13,8 @@ Fix issue with flake8 call not using :file:`setup.cfg` preferences; it was called from another directory. +Default to pdb with pdb++ instead of ipdb. New option ``--ipdb`` to run ipdb instead if wanted. + 4.0 --- diff --git a/odoo_scripts/docker_build.py b/odoo_scripts/docker_build.py index 40b53081d745b3387b64c5444f1b9f5bbeac2dfc_b2Rvb19zY3JpcHRzL2RvY2tlcl9idWlsZC5weQ==..0c5427adec0e505090a49c77ab7622a40611f6cf_b2Rvb19zY3JpcHRzL2RvY2tlcl9idWlsZC5weQ== 100644 --- a/odoo_scripts/docker_build.py +++ b/odoo_scripts/docker_build.py @@ -158,6 +158,8 @@ myfile.write( "python3-watchdog python3-ipdb python3-pyinotify\n" ) + # Install pdb++ + myfile.write("RUN pip3 install pdbpp\n") elif odoo_type in ("odoo10",): myfile.write("python-ipdb\n") myfile.write( diff --git a/odoo_scripts/docker_dev_start.py b/odoo_scripts/docker_dev_start.py index 40b53081d745b3387b64c5444f1b9f5bbeac2dfc_b2Rvb19zY3JpcHRzL2RvY2tlcl9kZXZfc3RhcnQucHk=..0c5427adec0e505090a49c77ab7622a40611f6cf_b2Rvb19zY3JpcHRzL2RvY2tlcl9kZXZfc3RhcnQucHk= 100755 --- a/odoo_scripts/docker_dev_start.py +++ b/odoo_scripts/docker_dev_start.py @@ -290,6 +290,7 @@ dest="host_network", default=False, ) - parser.add_argument( + dev_option_group = parser.add_mutually_exclusive_group() + dev_option_group.add_argument( "--no-dev", help="No dev options", action="store_false", dest="dev" ) @@ -294,5 +295,11 @@ "--no-dev", help="No dev options", action="store_false", dest="dev" ) + dev_option_group.add_argument( + "--ipdb", + help="Use ipdb rather than pdb", + action="store_true", + dest="ipdb", + ) parser.add_argument( "--load-language", help="specifies the languages for the translations you want to be" @@ -372,6 +379,7 @@ run_isort = nmspc.isort odoo_help = nmspc.odoo_help dev = nmspc.dev + ipdb = nmspc.ipdb restore_filename = nmspc.DUMP database = nmspc.database load_language = "" @@ -787,8 +795,11 @@ if dev: if odoo_type in ("odoo10", "odoo11", "odoo13"): - # ipdb should not be run if not interactive - arg.append("--dev=reload,ipdb") + # pdb should not be run if not interactive + if ipdb: + arg.append("--dev=reload,ipdb") + else: + arg.append("--dev=reload,pdb") if odoo_type in ("odoo8",): arg.append("--auto-reload") if odoo_help: