diff --git a/update_unstable.py b/update_unstable.py index 6377fa7..e3e1010 100755 --- a/update_unstable.py +++ b/update_unstable.py @@ -1,16 +1,22 @@ #!/usr/bin/env python3 +# SPDX-FileCopyrightText: 2021 Luca Beltrame +# SPDX-License-Identifier: BSD-3-clause import argparse -import csv import logging import json from pathlib import Path import pickle +from urllib.parse import urlencode import git +import requests import sarge +API_URL = "https://invent.kde.org/api/v4/projects/" + + class GitHashCache: def __init__(self, cache_file): @@ -51,6 +57,16 @@ class GitHashCache: json.dump(self._data, handle, indent=4) +def project_exists(project): + project_name = urlencode(project) + request = requests.get(API_URL + project_name) + + if request.status_code == requests.status_codes.codes.ok: + return True + + return False + + def lsremote(url): remote_refs = {} @@ -91,6 +107,10 @@ def update_package(hash_data, package_name, remote_name, obs_repository, repo_name = "https://invent.kde.org/{}".format(remote_name) + if not project_exists(remote_name): + logging.warn("Repository {} not found, skipping".format(remote_name)) + return + remote_hash = get_remote_hash(repo_name, branch) repo_hashes = hash_data.get(obs_repository)