gOdoo-cli 0.15.0__tar.gz → 0.15.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/PKG-INFO +1 -1
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/__about__.py +1 -1
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/db/query.py +4 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/cli_generate.py +17 -8
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/shell.py +5 -5
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/models/db_connection.py +4 -2
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/models/godoo_modules.py +0 -2
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.codecovrc +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.devcontainer/devcontainer.json +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.env.sample +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.eslintignore +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.eslintrc.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.github/FUNDING.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.github/workflows/README.md +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.github/workflows/quality.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.github/workflows/version-bump.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.github/workflows/version-publish.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.gitignore +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.pre-commit-config.yaml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.prettierrc.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/.vscode/launch.json +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/LICENSE +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/README.md +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/addons/.gitkeep +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/addons/godoo_test_succ_mod/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/addons/godoo_test_succ_mod/__manifest__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/addons/godoo_test_succ_mod/models/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/addons/godoo_test_succ_mod/tests/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/addons/godoo_test_succ_mod/tests/data.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/addons/godoo_test_succ_mod/tests/test_succ.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/assets/godoo-main-cli.png +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/assets/odoo_logo.png +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/config/nginx.conf +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/config/postgresql.conf +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/config/supervisord.conf +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/Dockerfile +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/cups/Dockerfile +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/cups/config/cups-pdf.conf +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/cups/config/cupsd.conf +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/cups/cups_entrypoint.sh +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/depends_build.sh +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/depends_runtime.sh +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/docker-compose.base.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/docker-compose.devcontainer-traefik.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/docker-compose.devcontainer.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/docker-compose.traefik.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/docker/psql.gpg +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/godoo_src.code-workspace +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/makefile +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/odoo_manifest.yml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/pyproject.toml +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/scripts/container_requirements.sh +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/scripts/launchodoo.sh +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/scripts/migrations/development/shrink_database.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/scripts/reset_devcontainer.sh +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/__main__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/cli.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/cli_common.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/backup/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/backup/cli.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/backup/dump.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/backup/load.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/backup/pull.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/backup/util.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/config.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/db/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/db/cli.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/db/passwords.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/bootstrap.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/godoo_test/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/godoo_test/cli.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/godoo_test/test_load_data.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/godoo_test/test_run.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/launch.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/shell_scripts/odoo_banner.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/rpc/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/rpc/cli.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/rpc/config_parameters.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/rpc/importer.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/rpc/modules.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/rpc/translations.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/source_get.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/git/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/git/git_odoo.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/git/git_odoo_addons.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/git/git_repo.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/git/git_url.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/git/zip_download.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/cli.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/modules_git.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/modules_py.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/odoo_files.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/odoo_manifest.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/pip.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/helpers/system.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/models/__init__.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/models/godoo_models.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/tests/test_git_clone.py +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/thirdparty/.gitkeep +0 -0
- {godoo_cli-0.15.0 → godoo_cli-0.15.1}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gOdoo-cli
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.1
|
|
4
4
|
Summary: Wrapper around Odoo-Bin with some convinience RPC functions.
|
|
5
5
|
Project-URL: repository, https://github.com/OpenJKSoftware/gOdoo
|
|
6
6
|
Author-email: Joshua Kreuder <Joshua_Kreuder@outlook.com>
|
|
@@ -41,6 +41,7 @@ def query_database(
|
|
|
41
41
|
db_host: Annotated[str, CLI.database.db_host] = "",
|
|
42
42
|
db_port: Annotated[int, CLI.database.db_port] = 0,
|
|
43
43
|
db_password: Annotated[str, CLI.database.db_password] = "",
|
|
44
|
+
readonly: Annotated[bool, typer.Option(help="Run query in readonly mode", show_default=True)] = True,
|
|
44
45
|
):
|
|
45
46
|
"""Run a Query against the database.
|
|
46
47
|
|
|
@@ -60,6 +61,7 @@ def query_database(
|
|
|
60
61
|
username=db_user,
|
|
61
62
|
password=db_password,
|
|
62
63
|
db_name=db_name,
|
|
64
|
+
readonly=readonly,
|
|
63
65
|
)
|
|
64
66
|
with connection.connect() as cursor:
|
|
65
67
|
try:
|
|
@@ -114,6 +116,7 @@ def is_bootstrapped(
|
|
|
114
116
|
username=db_user,
|
|
115
117
|
password=db_password,
|
|
116
118
|
db_name=db_name,
|
|
119
|
+
readonly=True,
|
|
117
120
|
)
|
|
118
121
|
bootstrap_value = _is_bootstrapped(db_connection=connection)
|
|
119
122
|
LOGGER.info("Odoo Database Status: %s", bootstrap_value.value)
|
|
@@ -162,6 +165,7 @@ def get_installed_modules(
|
|
|
162
165
|
username=db_user,
|
|
163
166
|
password=db_password,
|
|
164
167
|
db_name=db_name,
|
|
168
|
+
readonly=True,
|
|
165
169
|
)
|
|
166
170
|
installed_modules = _get_installed_modules(db_connection=db_connection, to_install=to_install)
|
|
167
171
|
if isinstance(installed_modules, int):
|
|
@@ -7,6 +7,7 @@ from pathlib import Path
|
|
|
7
7
|
from typing import Any, Optional
|
|
8
8
|
|
|
9
9
|
from ...models import GodooConfig, GodooModules
|
|
10
|
+
from ..db.query import DbBootstrapStatus, _is_bootstrapped
|
|
10
11
|
|
|
11
12
|
LOGGER = logging.getLogger(__name__)
|
|
12
13
|
|
|
@@ -99,15 +100,23 @@ def _boostrap_command(
|
|
|
99
100
|
init_modules = []
|
|
100
101
|
|
|
101
102
|
extra_cmd_args_str = " ".join(extra_cmd_args or [])
|
|
102
|
-
if not re.search(r"(-i|--init) ", extra_cmd_args_str):
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
if install_workspace_modules and not re.search(r"(-i|--init|-u|--update) ", extra_cmd_args_str):
|
|
104
|
+
LOGGER.debug("Auto-detecting workspace modules for Bootstrapping")
|
|
105
|
+
workspace_modules = GodooModules([godoo_config.workspace_addon_path])
|
|
106
|
+
if workspace_addons := workspace_modules.get_modules():
|
|
107
|
+
init_modules = [
|
|
108
|
+
f.name for f in workspace_addons if f.version.split(".")[0] == godoo_config.odoo_version.major
|
|
109
|
+
]
|
|
109
110
|
init_modules = init_modules or ["base", "web"]
|
|
110
|
-
|
|
111
|
+
|
|
112
|
+
# if we are in a situation, where we call godoo bootstrap on a database that already has data,
|
|
113
|
+
# we should not pass --init but --update
|
|
114
|
+
init_cmd = ""
|
|
115
|
+
if init_modules:
|
|
116
|
+
if _is_bootstrapped(godoo_config.db_connection) == DbBootstrapStatus.BOOTSTRAPPED:
|
|
117
|
+
init_cmd = "--update " + ",".join(init_modules)
|
|
118
|
+
else:
|
|
119
|
+
init_cmd = "--init " + ",".join(init_modules)
|
|
111
120
|
|
|
112
121
|
addon_paths_str_list = [str(p.absolute()) for p in addon_paths if p and p.exists()]
|
|
113
122
|
addon_paths_str = ", ".join(addon_paths_str_list)
|
|
@@ -20,6 +20,8 @@ from ...models import GodooConfig
|
|
|
20
20
|
CLI = CommonCLI()
|
|
21
21
|
LOGGER = logging.getLogger(__name__)
|
|
22
22
|
|
|
23
|
+
SHELL_SCRIPTS_PATH = Path(__file__).parent / "shell_scripts"
|
|
24
|
+
|
|
23
25
|
|
|
24
26
|
def odoo_shell_uninstall_modules(
|
|
25
27
|
module_list: Annotated[list[str], typer.Argument(help="List of Modules to uninstall")],
|
|
@@ -89,8 +91,7 @@ def complete_script_name():
|
|
|
89
91
|
Returns:
|
|
90
92
|
List[str]: List of script names without their .py extension.
|
|
91
93
|
"""
|
|
92
|
-
|
|
93
|
-
return [p.stem for p in script_folder.glob("*.py")]
|
|
94
|
+
return [p.stem for p in SHELL_SCRIPTS_PATH.glob("*.py")]
|
|
94
95
|
|
|
95
96
|
|
|
96
97
|
def odoo_shell_run_script(
|
|
@@ -114,10 +115,9 @@ def odoo_shell_run_script(
|
|
|
114
115
|
Returns:
|
|
115
116
|
int: 0 for success, non-zero for failure.
|
|
116
117
|
"""
|
|
117
|
-
|
|
118
|
-
script_path = script_folder / f"{script_name}.py"
|
|
118
|
+
script_path = SHELL_SCRIPTS_PATH / f"{script_name}.py"
|
|
119
119
|
if not script_path.exists():
|
|
120
|
-
LOGGER.error("Script '%s' not found in %s", script_name,
|
|
120
|
+
LOGGER.error("Script '%s' not found in %s", script_name, SHELL_SCRIPTS_PATH)
|
|
121
121
|
return CLI.returner(1)
|
|
122
122
|
|
|
123
123
|
shell_cmd = f"{odoo_main_path.absolute()!s}/odoo-bin shell --no-http"
|
|
@@ -39,6 +39,7 @@ class DBConnection:
|
|
|
39
39
|
password: str
|
|
40
40
|
db_name: str
|
|
41
41
|
conn_timeout = 10
|
|
42
|
+
readonly: bool = False
|
|
42
43
|
|
|
43
44
|
def get_connection(self):
|
|
44
45
|
"""Get a database connection."""
|
|
@@ -92,8 +93,9 @@ class DBConnection:
|
|
|
92
93
|
cr = connection.cursor()
|
|
93
94
|
try:
|
|
94
95
|
yield cr
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
if not self.readonly:
|
|
97
|
+
LOGGER.debug("Committing DB cursor")
|
|
98
|
+
connection.commit()
|
|
97
99
|
except Exception as e:
|
|
98
100
|
LOGGER.warning("Rolling Back DB cursor. Got Exception: %s", e)
|
|
99
101
|
connection.rollback()
|
|
@@ -90,8 +90,6 @@ class GodooModules:
|
|
|
90
90
|
if not isinstance(addon_paths, list):
|
|
91
91
|
addon_paths = [addon_paths]
|
|
92
92
|
self.addon_paths = addon_paths
|
|
93
|
-
LOGGER.debug("Initializing GodooModules")
|
|
94
|
-
LOGGER.debug("Addon Paths: %s", ", ".join(str(p) for p in self.addon_paths))
|
|
95
93
|
self.godoo_modules: dict[str, GodooModule] = {}
|
|
96
94
|
|
|
97
95
|
def get_modules(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/godoo_test/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/godoo_test/test_load_data.py
RENAMED
|
File without changes
|
{godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/godoo_test/test_run.py
RENAMED
|
File without changes
|
|
File without changes
|
{godoo_cli-0.15.0 → godoo_cli-0.15.1}/src/godoo_cli/commands/odoo_bin/shell_scripts/odoo_banner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|