40 lines
1.1 KiB
Python
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)])
|
|
|
|
|