From 15aa39d1a6ff1ac92249d060a606b8b3a577708c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 11 Nov 2025 19:42:38 +0100 Subject: [PATCH] tools/check-git-repo-availability.py: softwareheritage URL when NoSourceSince --- tools/check-git-repo-availability.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tools/check-git-repo-availability.py b/tools/check-git-repo-availability.py index fd3e120b54..8ac6b0a713 100755 --- a/tools/check-git-repo-availability.py +++ b/tools/check-git-repo-availability.py @@ -106,8 +106,22 @@ for f in files: if not f.startswith('metadata/'): continue # this rewriting only works with metadata files, not srclibs + + url = data.get('SourceCode') + if url and not url.startswith('https://archive.softwareheritage.org/'): + url = url[:-4] if url.endswith('.git') else url + r = requests.get(f'https://archive.softwareheritage.org/api/1/origin/{url}/get/') + get = r.json() + if get.get('url') == url: + newurl = f'https://archive.softwareheritage.org/browse/origin/{url}/directory/' + else: + newurl = url + with open(f, 'w') as fp: - fp.write(re.sub(r'(Repo|RepoType):.*\n{1,2}', r'', raw)) + processed = re.sub(r'(Repo|RepoType):.*\n{1,2}', r'', raw) + processed = re.sub(r'\nSourceCode:.*', f'\nSourceCode: {newurl}', processed) + processed = re.sub(r'\n(AutoUpdateMode|UpdateCheckMode):.*', r'\n\1: None', processed) + fp.write(processed) builds = data.get('Builds') if builds: versionName = str(builds[-1]['versionName'])