qubes-core-admin-linux/qubes-rpc/qubes.repos.Disable

25 lines
543 B
Plaintext
Raw Normal View History

#!/usr/bin/python3
# Empty output indicates success; any input indicates error (probably an exception)
import dnf
import iniparse
import sys
base = dnf.Base()
base.read_all_repos()
reponame = sys.stdin.readline()
repo = base.repos[reponame]
# Loosely based on write_raw_configfile() from DNF source code,
# because that method was introduced in DNF 2.0 but Qubes dom0 has DNF 1.x.
with open(repo.repofile) as fp:
2018-12-09 06:42:46 +00:00
ini = iniparse.INIConfig(fp)
ini[reponame]['enabled'] = 0
with open(repo.repofile, 'w') as fp:
2018-12-09 06:42:46 +00:00
fp.write(str(ini))