openSUSE / opi

OBS Package Installer (CLI)
GNU General Public License v3.0
244 stars 22 forks source link

Error when a .repo file contain many repos #165

Closed garywill closed 9 months ago

garywill commented 10 months ago

.repo files allow multiple repos in one file, e.g.:

[TUNA-Backports-update]
name=TUNA-Backports
enabled=1
autorefresh=0
baseurl=http://mirrors.tuna.tsinghua.edu.cn/opensuse/update/leap/$releasever/backports/
path=/
priority=88
keeppackages=0
[TUNA-dist-nonoss]
name=TUNA-dist-non-oss
enabled=1
autorefresh=0
baseurl=http://mirrors.tuna.tsinghua.edu.cn/opensuse/distribution/leap/$releasever/repo/non-oss/
path=/
keeppackages=0

When using opi 4.1.0 I encounter this error:

File "/usr/bin/opi", line 145, in <module>
repo_query(args.query)
File "/usr/bin/opi", line 85, in repo_query
binaries = opi.search_local_repos(selected_name) + binaries
File "/usr/lib/python3.6/site-packages/opi/__init__.py", line 192, in search_local_repos
installable['repository'] = repos_by_name[repo_name]
KeyError: 'TUNA-dist-nonoss'

I guess here it needs a for loop to go through every section: https://github.com/openSUSE/opi/blob/275c41bd3891c471949e82e04d6219ecd755c91e/opi/__init__.py#L202-L225