From: Liu jue Date: Tue, 24 Jun 2014 10:47:04 +0000 (+0800) Subject: Catch the exception come from delete obs project/package X-Git-Tag: 1.0~113 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a29534e3d9e4bb991c051b945cdaacdf9e83158a;p=services%2Fjenkins-scripts.git Catch the exception come from delete obs project/package 1. Ensure it is exist before delete it. 2. Try it . Change-Id: Ia31960382d7e317d98672bc844b7f945862a1dbf Fixes: #2001 --- diff --git a/job_request.py b/job_request.py index a2afd6f..a98db08 100755 --- a/job_request.py +++ b/job_request.py @@ -11,6 +11,7 @@ from common.send_mail import prepare_mail from common.buildservice import BuildService from requests.mailer import mailer from gbp.git.repository import GitRepositoryError +from gitbuildsys.errors import ObsError import sys import os @@ -144,12 +145,27 @@ def delete_from_obs(prj, pkg): _bs = BuildService(os.getenv('OBS_API_URL'), os.getenv('OBS_API_USERNAME'), os.getenv('OBS_API_PASSWD')) + + if not _bs.exists(prj, pkg): + print '[Warning]:buildservice cannot find prj %s: pkg %s' %(prj, pkg) + return True + if _bs.get_package_real_project_name(prj, pkg) == prj: - if 'home:prerelease:' in prj: - print 'Removing %s' % prj - _bs.delete_project(prj) - else: - _bs.delete_package(prj, pkg) + try: + if 'home:prerelease:' in prj: + print 'Removing %s' % prj + _bs.delete_project(prj) + else: + print 'Removing %s:%s' % (prj, pkg) + _bs.delete_package(prj, pkg) + except ObsError, error: + print error + if 'HTTP Error 404' in str(error): + return True + else: + return False + + return True def request_accepted(data, gerrit, gitprj): """Do lots of things when request accepted"""