Как получить URL-адрес загрузки из dnf или rpmdb в python
Мне нужно, чтобы получить 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 ответ
С DNF это выглядело бы примерно так (непроверено, потому что быстро писал):
base = dnf.Base()
base.read_all_repos()
base.fill_sack()
for pkg in base.sack.query().filter(name='xterm'):
print(pkg.remote_location())
Возможно, вы захотите сделать немного больше обработки, например, использовать только одно из расположений, если существует несколько, и, возможно, некоторую обработку ошибок.