OBS: lib/osc: add private proj variable

Adjust lib/osc.py to take the OBS project from a global variable that
can be set with lib.osc.set_apiurl(), instead of using
lib.args.obs_project. Move the sanity check to set_apiurl().

This is in preparation for adding a new sync script, which will operate
on multiple OBS instances.

Related: OS#6165
Change-Id: Iabb871bcb432f2fbdaec9cbcab3d663ccf969901
This commit is contained in:
Oliver Smith 2023-09-04 16:36:33 +02:00 committed by osmith
parent 18c730fc10
commit aa2e3cc5c0
2 changed files with 12 additions and 18 deletions

View File

@ -10,15 +10,7 @@ import lib
import lib.config
apiurl = None
def check_proj():
proj = lib.args.obs_project
if ":" in proj:
return
print(f"ERROR: this doesn't look like a valid OBS project: {proj}")
exit(1)
proj = None
def check_oscrc():
@ -33,8 +25,16 @@ def check_oscrc():
exit(1)
def set_apiurl(url):
def set_apiurl(url, obs_proj=None):
global apiurl
global proj
if obs_proj is not None:
if ":" not in obs_proj:
print(f"ERROR: this doesn't look like a valid OBS project: {obs_proj}")
exit(1)
proj = obs_proj
apiurl = url
@ -58,7 +58,6 @@ def run_osc(cmd, *args, **kwargs):
def get_remote_pkgs():
proj = lib.args.obs_project
print(f"OBS: getting packages in {proj}")
ret = run_osc(["list", proj])
return ret.output.rstrip().split("\n")
@ -66,7 +65,6 @@ def get_remote_pkgs():
def get_package_version(package):
feed = lib.args.feed
proj = lib.args.obs_project
print(f"{package}: getting OBS version")
ret = run_osc(["list", proj, os.path.basename(package)])
@ -92,7 +90,6 @@ def get_package_version(package):
def create_package(package):
proj = lib.args.obs_project
print(f"{package}: creating new OBS package")
# cut off repository prefix like in "python/osmo-python-tests"
@ -117,7 +114,6 @@ def remove_temp_osc():
def update_package(package, version):
proj = lib.args.obs_project
print(f"{package}: updating OBS package")
# cut off repository prefix like in "python/osmo-python-tests"
@ -146,5 +142,4 @@ def update_package(package, version):
def delete_package(package, commit_msg):
print(f"{package}: removing from OBS ({commit_msg})")
run_osc(["rdelete", "-m", commit_msg, lib.args.obs_project,
os.path.basename(package)])
run_osc(["rdelete", "-m", commit_msg, proj, os.path.basename(package)])

View File

@ -231,9 +231,8 @@ def main():
if args.docker:
lib.docker.run_in_docker_and_exit("update_obs_project.py", True)
lib.osc.check_proj()
lib.osc.check_oscrc()
lib.osc.set_apiurl(args.apiurl)
lib.osc.set_apiurl(args.apiurl, args.obs_project)
if not args.ignore_req:
lib.check_required_programs()