добавила команду info
This commit is contained in:
@@ -91,4 +91,34 @@ class PackageManager:
|
||||
return True
|
||||
|
||||
def list_installed(self) -> List[Package]:
|
||||
return list(self.db.installed.values())
|
||||
return list(self.db.installed.values())
|
||||
|
||||
def info(self, package_name: str):
|
||||
"""Показывает информацию о пакете"""
|
||||
from ..utils.colors import print_error, print_info
|
||||
|
||||
# Сначала ищем в установленных
|
||||
pkg = self.db.get_package(package_name)
|
||||
|
||||
# Если не установлен, ищем в репозитории
|
||||
if not pkg:
|
||||
meta_path = os.path.join(self.repo_path, "packages", package_name, "meta.json")
|
||||
if not os.path.exists(meta_path):
|
||||
print_error(f"Пакет {package_name} не найден")
|
||||
return None
|
||||
with open(meta_path, 'r') as f:
|
||||
pkg_data = json.load(f)
|
||||
pkg = Package(**pkg_data)
|
||||
else:
|
||||
# Это установленный пакет
|
||||
pass
|
||||
|
||||
return {
|
||||
'name': pkg.name,
|
||||
'version': pkg.version,
|
||||
'description': pkg.description,
|
||||
'depends': pkg.depends,
|
||||
'files': pkg.files,
|
||||
'installed': pkg.installed,
|
||||
'install_date': pkg.install_date
|
||||
}
|
||||
Reference in New Issue
Block a user