neoricalex/src/bootstrap.py
2025-11-09 11:09:23 +01:00

40 lines
1.1 KiB
Python

import os
import shutil
import subprocess
import sys
from pathlib import Path
class Application(object):
def __init__(self, *args, **kwargs):
for key in kwargs:
setattr(self, key, kwargs[key])
self._hello()
def _hello(self):
print(f"NEORICALEX {getattr(self, 'version', '')} — inicializador de ambiente")
def run(self):
self._ensure_venv()
self.launch_welcome()
def _ensure_venv(self):
"""Cria e ativa o ambiente virtual, caso ainda não exista."""
base_path = Path(__file__).resolve().parents[1]
venv_path = base_path / "venv"
os.chdir(base_path)
if not venv_path.exists():
print("[+] Criando ambiente virtual...")
subprocess.run([sys.executable, "-m", "venv", str(venv_path)], check=True)
else:
print("[=] Ambiente virtual já existente.")
def launch_welcome(self):
"""Lança o gestor de módulos."""
base_path = Path(__file__).resolve().parent
manager = base_path / "manager" / "manager_main.py"
subprocess.run(["python3", str(manager)])