Some checks failed
odoo-restore-open_workshop-install / run-odoo-backup-in-docker (push) Failing after 1m24s
60 lines
1.7 KiB
Python
Executable File
60 lines
1.7 KiB
Python
Executable File
import sys
|
||
import os
|
||
import xmlrpc.client
|
||
|
||
# ----------------------
|
||
# KONFIGURATION AUS UMGEBUNG
|
||
# ----------------------
|
||
url = os.getenv("ODOO_URL", "http://localhost:8069")
|
||
db = os.getenv("DB_NAME", "hobbyhimmel")
|
||
username = os.getenv("ODOO_ADMIN")
|
||
password = os.getenv("ODOO_ADMIN_PASSWORD")
|
||
|
||
# ----------------------
|
||
# PRÜFUNG DER KONFIGURATION
|
||
# ----------------------
|
||
if not all([url, db, username, password]):
|
||
print("❌ Fehler: ODOO_URL, ODOO_DB, ODOO_USERNAME und ODOO_PASSWORD müssen als Umgebungsvariablen gesetzt sein.")
|
||
sys.exit(1)
|
||
|
||
# ----------------------
|
||
# PARAMETER PRÜFEN
|
||
# ----------------------
|
||
if len(sys.argv) != 2:
|
||
print("❌ Fehler: Modulname muss als Parameter übergeben werden.")
|
||
print("👉 Beispiel: python3 uninstall_rpc.py vvow_einweisungen")
|
||
sys.exit(1)
|
||
|
||
module_name = sys.argv[1]
|
||
|
||
# ----------------------
|
||
# AUTHENTIFIZIERUNG
|
||
# ----------------------
|
||
common = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/common")
|
||
uid = common.authenticate(db, username, password, {})
|
||
|
||
if not uid:
|
||
print("❌ Anmeldung fehlgeschlagen. Bitte Zugangsdaten prüfen.")
|
||
sys.exit(1)
|
||
|
||
# ----------------------
|
||
# MODUL SUCHEN & DEINSTALLIEREN
|
||
# ----------------------
|
||
models = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/object")
|
||
|
||
ids = models.execute_kw(db, uid, password,
|
||
'ir.module.module', 'search',
|
||
[[['name', '=', module_name], ['state', '=', 'installed']]],
|
||
{'limit': 1}
|
||
)
|
||
|
||
if ids:
|
||
print(f"📦 Deinstalliere Modul: {module_name}")
|
||
models.execute_kw(db, uid, password,
|
||
'ir.module.module', 'button_immediate_uninstall',
|
||
[ids]
|
||
)
|
||
print("✅ Deinstallation abgeschlossen.")
|
||
else:
|
||
print(f"ℹ️ Modul '{module_name}' ist nicht installiert oder nicht vorhanden.")
|