gOdoo-cli 0.11.13__tar.gz → 0.12.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.
Files changed (53) hide show
  1. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/PKG-INFO +1 -1
  2. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/pyproject.toml +1 -1
  3. godoo_cli-0.12.1/src/godoo_cli/commands/backup/upgrade.py +79 -0
  4. godoo_cli-0.12.1/src/godoo_cli/version.py +1 -0
  5. godoo_cli-0.11.13/src/godoo_cli/version.py +0 -1
  6. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/LICENSE +0 -0
  7. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/README.md +0 -0
  8. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/__init__.py +0 -0
  9. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/__main__.py +0 -0
  10. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/cli.py +0 -0
  11. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/cli_common.py +0 -0
  12. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/__init__.py +0 -0
  13. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/backup/__init__.py +0 -0
  14. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/backup/cli.py +0 -0
  15. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/backup/dump.py +0 -0
  16. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/backup/load.py +0 -0
  17. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/backup/pull.py +0 -0
  18. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/backup/util.py +0 -0
  19. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/bootstrap.py +0 -0
  20. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/config.py +0 -0
  21. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/db/__init__.py +0 -0
  22. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/db/cli.py +0 -0
  23. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/db/connection.py +0 -0
  24. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/db/passwords.py +0 -0
  25. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/db/query.py +0 -0
  26. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/launch.py +0 -0
  27. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/rpc/__init__.py +0 -0
  28. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/rpc/cli.py +0 -0
  29. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/rpc/config_parameters.py +0 -0
  30. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/rpc/importer.py +0 -0
  31. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/rpc/modules.py +0 -0
  32. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/rpc/translations.py +0 -0
  33. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/shell/scripts/odoo_banner.py +0 -0
  34. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/shell/shell.py +0 -0
  35. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/source_get.py +0 -0
  36. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/test/__init__.py +0 -0
  37. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/test/cli.py +0 -0
  38. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/test/test_load_data.py +0 -0
  39. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/commands/test/test_run.py +0 -0
  40. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/git/__init__.py +0 -0
  41. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/git/git_odoo.py +0 -0
  42. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/git/git_odoo_addons.py +0 -0
  43. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/git/git_repo.py +0 -0
  44. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/git/git_url.py +0 -0
  45. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/git/zip_download.py +0 -0
  46. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/__init__.py +0 -0
  47. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/cli.py +0 -0
  48. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/modules.py +0 -0
  49. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/modules_git.py +0 -0
  50. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/modules_py.py +0 -0
  51. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/odoo_files.py +0 -0
  52. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/odoo_manifest.py +0 -0
  53. {godoo_cli-0.11.13 → godoo_cli-0.12.1}/src/godoo_cli/helpers/system.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gOdoo-cli
3
- Version: 0.11.13
3
+ Version: 0.12.1
4
4
  Summary: Wrapper around Odoo-Bin with some convinience RPC functions.
5
5
  Home-page: https://github.com/OpenJKSoftware/gOdoo
6
6
  License: LGPL-3
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "gOdoo-cli"
3
- version = "0.11.13"
3
+ version = "0.12.1"
4
4
  description = "Wrapper around Odoo-Bin with some convinience RPC functions."
5
5
  authors = ["Joshua Kreuder <Joshua_Kreuder@outlook.com>"]
6
6
  license = "LGPL-3"
@@ -0,0 +1,79 @@
1
+ import logging
2
+ import shutil
3
+ import subprocess
4
+ import zipfile
5
+ from pathlib import Path
6
+ from typing import Literal
7
+
8
+ import typer
9
+ from typing_extensions import Annotated
10
+
11
+ from ...cli_common import CommonCLI
12
+ from ...helpers.system import typer_ask_overwrite_path
13
+
14
+ LOGGER = logging.getLogger(__name__)
15
+ CLI = CommonCLI()
16
+
17
+
18
+ @CLI.arg_annotator
19
+ def run_upgrade(
20
+ dump_path: Annotated[
21
+ Path, typer.Argument(..., help="Path to SQL Dump", file_okay=True, dir_okay=False, exists=True)
22
+ ],
23
+ enterprise_subcode: Annotated[
24
+ str, typer.Option(help="Odoo.com Enterprise Subcode", envvar="ODOO_ENTERPRISE_SUBCODE")
25
+ ],
26
+ target_version: Annotated[str, typer.Option(help="Target Odoo Version", envvar="ODOO_UPGRADE_TARGET_VERSION")],
27
+ db_host=CLI.database.db_host,
28
+ db_port=CLI.database.db_port,
29
+ db_name=CLI.database.db_name,
30
+ db_user=CLI.database.db_user,
31
+ db_password=CLI.database.db_password,
32
+ upgrade_mode: Annotated[Literal["test", "prod"], typer.Option("test", help="Odoo.com Upgrade Mode")] = "test",
33
+ ):
34
+ """Send SQL Dump to upgrade.odoo.com"""
35
+ upgrade_zip_path = dump_path.parent / "upgrade.zip"
36
+
37
+ if typer_ask_overwrite_path(upgrade_zip_path):
38
+ backup_caches(upgrade_zip_path)
39
+ run_upgrade_online(
40
+ sql_dump_path=dump_path,
41
+ enterprise_subcode=enterprise_subcode,
42
+ target_version=target_version,
43
+ upgrade_mode=upgrade_mode,
44
+ )
45
+
46
+ if not upgrade_zip_path.exists():
47
+ LOGGER.error("Upgrade Failed: No upgrade.zip found")
48
+ raise typer.Exit(1)
49
+
50
+ LOGGER.info("Restoring Upgrade. Change Date: %s", upgrade_zip_path.stat().st_mtime)
51
+
52
+ LOGGER.info("Extracting Upgrade Zip")
53
+ ex_cache_path = upgrade_zip_path.parent / "upgrade_extract"
54
+ with zipfile.ZipFile(upgrade_zip_path, "r") as zip_ref:
55
+ zip_ref.extractall(ex_cache_path)
56
+
57
+ LOGGER.info("Ensuring DB Dump is pg_custom format for rapid loading")
58
+
59
+
60
+ def run_upgrade_online(sql_dump_path: Path, enterprise_subcode: str, target_version: str, upgrade_mode: str):
61
+ """Runs sql dump against upgrade.odoo.com"""
62
+ command = f"python <(curl -s https://upgrade.odoo.com/upgrade) {upgrade_mode} -i {sql_dump_path.absolute()} -t {target_version} -x -c {enterprise_subcode}"
63
+ LOGGER.info("Running Upgrade Command: %s", command)
64
+ ret = subprocess.run(command, shell=True)
65
+ if ret.returncode != 0:
66
+ LOGGER.error("Upgrade Failed: %s", ret)
67
+ raise typer.Exit(ret.returncode)
68
+
69
+
70
+ def backup_caches(upgrade_zip_path):
71
+ if upgrade_zip_path.exists():
72
+ LOGGER.info("Found existing upgrade.zip, backing up and Deleting")
73
+ shutil.move(upgrade_zip_path, upgrade_zip_path.with_suffix(".old.zip"))
74
+ log_path = upgrade_zip_path.parent / "upgrade.log"
75
+ if log_path.exists():
76
+ shutil.move(log_path, log_path.with_suffix(".old.log"))
77
+ report_path = upgrade_zip_path.parent / "upgrade-report.html"
78
+ if report_path.exists():
79
+ shutil.move(report_path, report_path.with_suffix(".old.html"))
@@ -0,0 +1 @@
1
+ __version__ = "0.12.1"
@@ -1 +0,0 @@
1
- __version__ = "0.12.0"
File without changes
File without changes