NextERP-scripts/scripts/update_modules.py

34 lines
1.0 KiB
Python

import importlib.util
import argparse
import os
import subprocess
import sys
from ..services import config as Config
# Parse arguments properly
parser = argparse.ArgumentParser(description="Uninstall module for each instance")
parser.add_argument(
"action", help="Action to perform", choices=["uninstall", "install", "upgrade"]
)
parser.add_argument("config_path", help="Path to the config file")
args = parser.parse_args()
# Load the configuration
print(f"Config path: {args.config_path}")
config = Config.Config(config_path=args.config_path)
instances = config.get_instances()
# Ensure instances is a valid list
if not isinstance(instances, list):
print("Error: instances is not a valid list.")
sys.exit(1)
# Loop over each instance and run the uninstall command
for instance in instances:
if "name" in instance:
cmd = ["python", "utility/main.py", "module", args.action, instance["name"]]
subprocess.run(cmd)
else:
print(f"Warning: Instance missing 'name' field. Skipping.")