1
0
Fork 0

Various lint and style fixes

This commit is contained in:
Luca Beltrame 2021-01-02 10:18:17 +01:00
parent df1019dd4b
commit e9ce07b217
Signed by: einar
GPG key ID: 4707F46E9EC72DEC

View file

@ -8,6 +8,7 @@ import json
from pathlib import Path from pathlib import Path
import pickle import pickle
from urllib.parse import urlencode from urllib.parse import urlencode
from typing import Dict
import git import git
import requests import requests
@ -57,7 +58,7 @@ class GitHashCache:
json.dump(self._data, handle, indent=4) json.dump(self._data, handle, indent=4)
def project_exists(project): def project_exists(project: str) -> bool:
project_name = urlencode(project) project_name = urlencode(project)
request = requests.get(API_URL + project_name) request = requests.get(API_URL + project_name)
@ -67,48 +68,48 @@ def project_exists(project):
return False return False
def lsremote(url): def lsremote(url: str) -> Dict[str]:
remote_refs = {} remote_refs = {}
g = git.cmd.Git() gitcmd = git.cmd.Git()
for ref in g.ls_remote(url).split('\n'): for ref in gitcmd.ls_remote(url).split('\n'):
hash_ref_list = ref.split('\t') hash_ref_list = ref.split('\t')
remote_refs[hash_ref_list[1]] = hash_ref_list[0] remote_refs[hash_ref_list[1]] = hash_ref_list[0]
return remote_refs return remote_refs
def get_remote_hash(url, branch="master"): def get_remote_hash(url: str, branch: str = "master") -> str:
refs = "refs/heads/{}".format(branch) refs = "refs/heads/{}".format(branch)
return lsremote(url)[refs] return lsremote(url)[refs]
def run_osc(repository, package_name): def run_osc(repository: str, package_name: str) -> bool:
cmd = "osc service remoterun {0} {1}" cmd = "osc service remoterun {0} {1}"
cmd = cmd.format(repository, package_name) cmd = cmd.format(repository, package_name)
logging.debug("Running {}".format(cmd)) logging.debug("Running %s", cmd)
logging.info("Updating package {0}".format(package_name)) logging.info("Updating package %s", package_name)
pid = sarge.run(cmd) pid = sarge.run(cmd)
if pid.returncode != 0: if pid.returncode != 0:
logging.error("Error during service run, package {}".format( logging.error("Error during service run, package %s", package_name)
package_name))
return False return False
logging.debug("Package {} complete".format(package_name)) logging.debug("Package %s complete", package_name)
return True return True
def update_package(hash_data, package_name, remote_name, obs_repository, def update_package(hash_data: GitHashCache, package_name: str,
branch): remote_name: str, obs_repository: str,
branch: str):
repo_name = "https://invent.kde.org/{}".format(remote_name) repo_name = "https://invent.kde.org/{}".format(remote_name)
if not project_exists(remote_name): if not project_exists(remote_name):
logging.warn("Repository {} not found, skipping".format(remote_name)) logging.warning("Repository %s not found, skipping", remote_name)
return return
remote_hash = get_remote_hash(repo_name, branch) remote_hash = get_remote_hash(repo_name, branch)
@ -120,9 +121,8 @@ def update_package(hash_data, package_name, remote_name, obs_repository,
current_hash = hash_data[obs_repository].get(remote_name, "") current_hash = hash_data[obs_repository].get(remote_name, "")
logging.debug("Package {}, theirs {}, ours {}".format(remote_name, logging.debug("Package %s, theirs %s, ours %s",
remote_hash, remote_name, remote_hash, current_hash)
current_hash))
if remote_hash != current_hash: if remote_hash != current_hash:
logging.debug("Hash doesn't match, updating") logging.debug("Hash doesn't match, updating")
@ -132,7 +132,7 @@ def update_package(hash_data, package_name, remote_name, obs_repository,
hash_data.to_json() hash_data.to_json()
def update_packages(cache_file, repo_mapping_file): def update_packages(cache_file: str, repo_mapping_file: str):
hash_data = GitHashCache(cache_file) hash_data = GitHashCache(cache_file)
hash_data.load() hash_data.load()
@ -143,16 +143,16 @@ def update_packages(cache_file, repo_mapping_file):
for obs_repository, branch_data in repo_data.items(): for obs_repository, branch_data in repo_data.items():
logging.info("Updating packages for {}".format(obs_repository)) logging.info("Updating packages for %s", obs_repository)
for package in branch_data: for package in branch_data:
kde_name = package["kde"] kde_name = package["kde"]
obs_name = package["obs"] obs_name = package["obs"]
branch = package["branch"] branch = package["branch"]
package_name = Path(kde_name).name package_name = Path(kde_name).name
logging.debug("Updating package {} ({})".format(package_name, logging.debug("Updating package %s (%s)",
obs_name)) package_name, obs_name)
logging.debug("Using branch {}".format(branch)) logging.debug("Using branch %s", branch)
update_package(hash_data, obs_name, kde_name, obs_repository, update_package(hash_data, obs_name, kde_name, obs_repository,
branch) branch)
@ -180,5 +180,6 @@ def main():
update_packages(cache_file, options.mapping_file) update_packages(cache_file, options.mapping_file)
logging.info("Complete") logging.info("Complete")
if __name__ == "__main__": if __name__ == "__main__":
main() main()