добавила CLI с командами install и list
This commit is contained in:
51
mypkg/cli/main.py
Normal file
51
mypkg/cli/main.py
Normal 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()
|
||||
Reference in New Issue
Block a user