добавила CLI с командами install и list

This commit is contained in:
2026-04-01 12:20:31 +03:00
parent ea216cfd70
commit 46848ed3d7

51
mypkg/cli/main.py Normal file
View File

@@ -0,0 +1,51 @@
# mypkg/cli/main.py
#!/usr/bin/env python3
import argparse
import sys
from ..core.package_manager import PackageManager
def main():
parser = argparse.ArgumentParser(
description="My Package Manager - простой менеджер пакетов для Linux",
epilog="""
Примеры:
mypkg install nano Установить пакет nano
mypkg list Показать установленные пакеты
"""
)
subparsers = parser.add_subparsers(dest='command', help='Команды')
# команда install
install_parser = subparsers.add_parser('install', help='Установить пакет')
install_parser.add_argument('package', help='Имя пакета')
# команда list
list_parser = subparsers.add_parser('list', help='Список установленных пакетов')
args = parser.parse_args()
if not args.command:
parser.print_help()
sys.exit(1)
# Создаем менеджер пакетов
pm = PackageManager()
if args.command == 'install':
pm.install(args.package)
elif args.command == 'list':
packages = pm.list_installed()
if not packages:
print("Нет установленных пакетов")
else:
print("Установленные пакеты:")
for pkg in packages:
print(f" {pkg.name} ({pkg.version})")
sys.exit(0)
if __name__ == '__main__':
main()