From 5e6a9e750e14973ef73ceaa2c54615b80a0ca30f Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Sat, 13 Sep 2014 14:10:02 +0300 Subject: [PATCH] Implemented create_sr and set_sr_state Extended buildservice API to create SR and change SR status. Both methods will be used in the new job for accepting or rejecting SRs. Change-Id: Ic38473ab99f2185fe32bda29eaaa18a654cd167c Signed-off-by: Ed Bartosh --- common/buildservice.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/common/buildservice.py b/common/buildservice.py index c2a4e8c..a6525ef 100644 --- a/common/buildservice.py +++ b/common/buildservice.py @@ -25,6 +25,7 @@ import os import shutil import urllib2 import json +import cgi import xml.etree.cElementTree as ElementTree from gitbuildsys.errors import ObsError @@ -534,3 +535,24 @@ class BuildService(OSC): repo_element.attrib.pop('linkedbuild') self.set_meta(ElementTree.tostring(xml_root), project) + + def create_sr(self, src_project, packages, tgt_project, message=''): + """Create submit request for the project.""" + content = '%s' % \ + cgi.escape(str(message)) + for package in packages: + content += '' + content += '' % \ + (str(src_project), str(package)) + content += '' % \ + (str(tgt_project), str(package)) + content += '' + content += '\n' + url = core.makeurl(self.apiurl, ['request'], query='cmd=create') + reply = self.core_http(core.http_POST, url, data=content) + return ElementTree.parse(reply).getroot().get('id') + + def set_sr_state(self, reqid, state, message='', force=False): + """Set SR state.""" + return core.change_request_state(self.apiurl, reqid, state, + message=str(message), force=force) -- 2.7.4