From 943d922908f55854aaddffefaf9981ad174e2b33 Mon Sep 17 00:00:00 2001 From: Hasan Wan Date: Mon, 31 Dec 2012 13:51:01 +0800 Subject: [PATCH] Add exception catcher for XML parser, delete project by osc rdelete Change-Id: Ib53a365162ddcef03b7b13bca88425e53c0046cc Signed-off-by: Hasan Wan --- common/buildservice.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/common/buildservice.py b/common/buildservice.py index ee62d92..0684cb8 100644 --- a/common/buildservice.py +++ b/common/buildservice.py @@ -677,7 +677,12 @@ class BuildService(object): def getRepoState(self, project): targets = {} - tree = ElementTree.fromstring(''.join(core.show_prj_results_meta(self.apiurl, project))) + print "==%s= %s=" %(self.apiurl, project) + try: + tree = ElementTree.fromstring(''.join(core.show_prj_results_meta(self.apiurl, project))) + except ElementTree.ParseError: + raise ElementTree.ParseError, ''.join(core.show_prj_results_meta(self.apiurl, project)) + for result in tree.findall('result'): targets[('/'.join((result.get('repository'), result.get('arch'))))] = result.get('state') return targets @@ -1290,6 +1295,7 @@ class TempBuildService(): return self.bs.getRepoState(self.project) def cleanup(self): + os.system("osc -H -d -v rdelete --recursive %s -m 'deleted'" %(self.project)) return self.bs.deleteProject(self.project) def is_published(self): -- 2.7.4