From 6eac27ec1c54086f8fd92d85e13ec946eec16831 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= <adrian@suse.de>
Date: Tue, 12 Feb 2019 10:15:01 +0100
Subject: [PATCH 8/9] support different token operations (runservice, release
and rebuild) (requires OBS 2.10)
---
osc/commandline.py | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/osc/commandline.py b/osc/commandline.py
index d34f9c9..44cd7db 100644
--- a/osc/commandline.py
+++ b/osc/commandline.py
@@ -728,6 +728,8 @@ class Osc(cmdln.Cmdln):
help='Create a new token')
@cmdln.option('-d', '--delete', metavar='TOKENID',
help='Delete a token')
+ @cmdln.option('-o', '--operation', metavar='OPERATION',
+ help='Default is "runservice", but "release" or "rebuild" can also be used')
@cmdln.option('-t', '--trigger', metavar='TOKENSTRING',
help='Trigger the action of a token')
def do_token(self, subcmd, opts, *args):
@@ -738,9 +740,9 @@ class Osc(cmdln.Cmdln):
Usage:
osc token
- osc token --create [<PROJECT> <PACKAGE>]
+ osc token --create [--operation <OPERATION>] [<PROJECT> <PACKAGE>]
osc token --delete <TOKENID>
- osc token --trigger <TOKENSTRING>
+ osc token --trigger <TOKENSTRING> [--operation <OPERATION>] [<PROJECT> <PACKAGE>]
${cmd_option_list}
"""
@@ -752,6 +754,8 @@ class Osc(cmdln.Cmdln):
if opts.create:
print("Create a new token")
url += "?cmd=create"
+ if opts.operation:
+ url += "&operation=" + opts.operation
if len(args) > 1:
url += "&project=" + args[0]
url += "&package=" + args[1]
@@ -769,7 +773,11 @@ class Osc(cmdln.Cmdln):
http_DELETE(url)
elif opts.trigger:
print("Trigger token")
- url = apiurl + "/trigger/runservice"
+ operation = opts.operation or "runservice"
+ url = apiurl + "/trigger/" + operation
+ if len(args) > 1:
+ url += "?project=" + args[0]
+ url += "&package=" + args[1]
req = URLRequest(url)
req.get_method = lambda: "POST"
req.add_header('Content-Type', 'application/octet-stream')
--
2.21.0