qubes-core-admin-linux/qubes-rpc/qubes.repos.Disable
2019-04-08 12:55:43 -04:00

25 lines
537 B
Python
Executable File

#!/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:
ini = iniparse.INIConfig(fp)
ini[reponame]['enabled'] = 0
with open(repo.repofile, 'w') as fp:
fp.write(str(ini))