Blame sources/org.osbuild.dnf

Packit Service 863627
#!/usr/bin/python3
Packit Service 863627
"""
Packit Service 863627
Download packages via dnf
Packit Service 863627
"""
Packit Service 863627
Packit Service 863627
Packit Service 863627
import json
Packit Service 863627
import sys
Packit Service 863627
Packit Service 863627
Packit Service 863627
SCHEMA = """
Packit Service 863627
"additionalProperties": true
Packit Service 863627
"""
Packit Service 863627
Packit Service 863627
Packit Service 863627
def main(options, sources, secrets):
Packit Service 863627
    repos = options.get("repos", {})
Packit Service 863627
    repo_secrets = secrets.get("repos", {})
Packit Service 863627
Packit Service 863627
    reply = []
Packit Service 863627
    for checksum in sources:
Packit Service 863627
        try:
Packit Service 863627
            source_repo = repos[checksum]
Packit Service 863627
            source_repo_secrets = repo_secrets.get(checksum, {})
Packit Service 863627
        except KeyError:
Packit Service 863627
            json.dump({"error": f"source unknown: {checksum}"}, sys.stdout)
Packit Service 863627
            return 1
Packit Service 863627
Packit Service 863627
        repo = {"checksum": checksum}
Packit Service 863627
Packit Service 863627
        if "baseurl" in source_repo:
Packit Service 863627
            repo["baseurl"] = source_repo["baseurl"]
Packit Service 863627
        elif "mirrorlist" in source_repo:
Packit Service 863627
            repo["mirrorlist"] = source_repo["mirrorlist"]
Packit Service 863627
        elif "metalink" in source_repo:
Packit Service 863627
            repo["metalink"] = source_repo["metalink"]
Packit Service 863627
        else:
Packit Service 863627
            json.dump({"error": f"repo {checksum} is missing baseurl, mirrorlist, or metalink key"}, sys.stdout)
Packit Service 863627
Packit Service 863627
        if "sslcacert" in source_repo:
Packit Service 863627
            repo["sslcacert"] = source_repo["sslcacert"]
Packit Service 863627
Packit Service 863627
        if "gpgkey" in source_repo:
Packit Service 863627
            repo["gpgkey"] = source_repo["gpgkey"]
Packit Service 863627
Packit Service 863627
        if "sslclientcert" in source_repo_secrets:
Packit Service 863627
            repo["sslclientcert"] = source_repo_secrets["sslclientcert"]
Packit Service 863627
Packit Service 863627
        if "sslclientkey" in source_repo_secrets:
Packit Service 863627
            repo["sslclientkey"] = source_repo_secrets["sslclientkey"]
Packit Service 863627
Packit Service 863627
        reply.append(repo)
Packit Service 863627
Packit Service 863627
    json.dump(reply, sys.stdout)
Packit Service 863627
    return 0
Packit Service 863627
Packit Service 863627
Packit Service 863627
if __name__ == '__main__':
Packit Service 863627
    args = json.load(sys.stdin)
Packit Service 863627
    r = main(args["options"], args["checksums"], args.get("secrets", {}))
Packit Service 863627
    sys.exit(r)