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.")