osmith has uploaded this change for review.

View Change

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 projects.

Related: OS#6165
Change-Id: Iabb871bcb432f2fbdaec9cbcab3d663ccf969901
---
M scripts/obs/lib/osc.py
M scripts/obs/update_obs_project.py
2 files changed, 29 insertions(+), 18 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/32/34332/1
diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py
index c9040ec..1113032 100644
--- a/scripts/obs/lib/osc.py
+++ b/scripts/obs/lib/osc.py
@@ -10,15 +10,7 @@
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 @@
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 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_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 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 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 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)])
diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py
index 599e5cd..eee58a7 100755
--- a/scripts/obs/update_obs_project.py
+++ b/scripts/obs/update_obs_project.py
@@ -231,9 +231,8 @@
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()

To view, visit change 34332. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Iabb871bcb432f2fbdaec9cbcab3d663ccf969901
Gerrit-Change-Number: 34332
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith@sysmocom.de>
Gerrit-MessageType: newchange