| | import subprocess
|
| | import sys
|
| | import os
|
| |
|
| | def run_script(script_path, args=None):
|
| | """
|
| | Run a Python script using subprocess with optional arguments and handle errors.
|
| | Returns True if successful, False otherwise.
|
| | """
|
| | if not os.path.isfile(script_path):
|
| | print(f"Script not found: {script_path}")
|
| | return False
|
| |
|
| | try:
|
| | command = [sys.executable, script_path]
|
| | if args:
|
| | command.extend(args)
|
| | result = subprocess.run(
|
| | command,
|
| | check=True,
|
| | text=True,
|
| | capture_output=True
|
| | )
|
| | print(f"Successfully executed {script_path}")
|
| | print(result.stdout)
|
| | return True
|
| | except subprocess.CalledProcessError as e:
|
| | print(f"Error executing {script_path}:")
|
| | print(e.stderr)
|
| | return False
|
| | except Exception as e:
|
| | print(f"Unexpected error executing {script_path}: {str(e)}")
|
| | return False
|
| |
|
| | def main():
|
| | """
|
| | Main function to execute download_ckpts.py with proper error handling.
|
| | """
|
| | scripts_dir = "scripts"
|
| | scripts = [
|
| | {
|
| | "path": os.path.join(scripts_dir, "download_ckpts.py"),
|
| | "args": []
|
| | }
|
| | ]
|
| |
|
| | for script in scripts:
|
| | script_path = script["path"]
|
| | args = script.get("args", [])
|
| | print(f"Starting execution of {script_path}{' with args: ' + ' '.join(args) if args else ''}\n")
|
| |
|
| | if not run_script(script_path, args):
|
| | print(f"Stopping execution due to error in {script_path}")
|
| | sys.exit(1)
|
| |
|
| | print(f"Completed execution of {script_path}\n")
|
| |
|
| | if __name__ == "__main__":
|
| | main() |