Add exception catcher for XML parser, delete project by osc rdelete
authorHasan Wan <hasan.wan@intel.com>
Mon, 31 Dec 2012 05:51:01 +0000 (13:51 +0800)
committerLin Yang <lin.a.yang@intel.com>
Thu, 28 Feb 2013 07:44:18 +0000 (15:44 +0800)
Change-Id: Ib53a365162ddcef03b7b13bca88425e53c0046cc
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
common/buildservice.py

index ee62d92..0684cb8 100644 (file)
@@ -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):