как получить URL-адрес загрузки из dnf или rpmdb в python - PullRequest
0 голосов
/ 09 мая 2018

Мне нужно получить URL загрузки из пакетов rpm на fedora под python. Например, с помощью dnf я просто набираю:

# dnf download --url xterm 
rsync://fedora.tu-chemnitz.de/ftp/pub/linux/fedora/linux/releases/27/Everything/x86_64/os/Packages/x/xterm-330-3.fc27.x86_64.rpm              

Мне нужно то же самое, но с питоном. Я пробовал с "import dnf" и "import rpm", но безуспешно.

1 Ответ

0 голосов
/ 09 мая 2018

С DNF это выглядело бы примерно так (непроверено, потому что быстро писал):

base = dnf.Base()
base.read_all_repos()
base.fill_sack()
for pkg in base.sack.query().filter(name='xterm'):
    print(pkg.remote_location())

Возможно, вы захотите немного больше обработать, например, использовать только одно из расположений, если существует несколько, и, возможно, некоторую обработку ошибок.

...