добавила поддержку песочницы (--sandbox)

This commit is contained in:
2026-04-01 12:55:18 +03:00
parent ffda761be7
commit 6f66a98f31
2 changed files with 30 additions and 7 deletions

View File

@@ -8,17 +8,26 @@ from ..database.db_manager import DatabaseManager
class PackageManager:
"""Главный класс менеджера пакетов (прототип)"""
"""Главный класс менеджера пакетов"""
def __init__(self, repo_path: str = "repo", root: str = "/"):
def __init__(self, repo_path: str = "repo", sandbox: str = None):
"""
Args:
repo_path: путь к репозиторию (папка с пакетами)
root: корень файловой системы (для песочницы)
sandbox: путь к песочнице (если указан, все установки идут туда)
"""
self.repo_path = repo_path
self.root = root
self.db = DatabaseManager(root)
# Если указана песочница, используем её как корень
if sandbox:
self.root = sandbox
self.sandbox_mode = True
print(f"🏖️ РЕЖИМ ПЕСОЧНИЦЫ: {sandbox}")
else:
self.root = "/"
self.sandbox_mode = False
self.db = DatabaseManager(self.root)
def install(self, package_name: str) -> bool:
"""Устанавливает пакет"""
@@ -64,6 +73,10 @@ class PackageManager:
self.db.add_package(pkg)
print(f"✅ Пакет {package_name} успешно установлен")
if self.sandbox_mode:
print(f"📁 Файлы установлены в: {self.root}")
return True
def list_installed(self) -> List[Package]: