From 3e4424d222631a6d928497f4423f5f2365814a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Mon, 2 May 2011 15:28:44 +0200 Subject: [PATCH] - block creating submit requests when a source service is still running (OBS 2.3 only) --- osc/commandline.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/osc/commandline.py b/osc/commandline.py index 5e261454..fe89bbe6 100644 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -893,6 +893,14 @@ class Osc(cmdln.Cmdln): print " Skipping package ", p else: print "Skipping package ", p, " since it is a source link pointing inside the project." + serviceinfo = root.find('serviceinfo') + if serviceinfo != None: + if serviceinfo.get('code') != "succeeded": + print "Package ", p, " has a ", serviceinfo.get('code'), " source service" + sys.exit("Please fix this first") + if serviceinfo.get('error'): + print "Package ", p, " contains a failed source service." + sys.exit("Please fix this first") # was this project created by clone request ? u = makeurl(apiurl, ['source', project, '_attribute', 'OBS:RequestCloned']) @@ -993,6 +1001,19 @@ class Osc(cmdln.Cmdln): raise oscerr.WrongArgs('Incorrect number of arguments.\n\n' \ + self.get_cmd_help('request')) + # check for running source service + u = makeurl(apiurl, ['source', src_project, src_package]) + f = http_GET(u) + root = ET.parse(f).getroot() + serviceinfo = root.find('serviceinfo') + if serviceinfo != None: + if serviceinfo.get('code') != "succeeded": + print "Package ", src_package, " has a ", serviceinfo.get('code'), " source service" + sys.exit("Please fix this first") + if serviceinfo.get('error'): + print "Package ", src_package, " contains a failed source service." + sys.exit("Please fix this first") + if not opts.nodevelproject: devloc = None try: