Implemented support for project deletion in oscapi
authorEd Bartosh <eduard.bartosh@intel.com>
Mon, 11 Mar 2013 18:08:03 +0000 (20:08 +0200)
committerEd Bartosh <eduard.bartosh@intel.com>
Tue, 19 Mar 2013 14:52:01 +0000 (16:52 +0200)
One more feature for oscapi. This is also requried by backend services.

Change-Id: Ia6210a294d132e1d4228962f059a95cc4a3283ac
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
gitbuildsys/oscapi.py

index 86f97d6..8de4fa3 100644 (file)
@@ -165,6 +165,19 @@ class OSC(object):
             raise ObsError("can't copy config from %s to %s: %s" \
                            % (src, target, err))
 
+    def delete_project(self, prj, force=False, msg=None):
+        """Delete OBS project."""
+        query = {}
+        if force:
+            query['force'] = "1"
+        if msg:
+            query['comment'] = msg
+        url = core.makeurl(self.apiurl, ['source', prj], query)
+        try:
+            self.core_http(core.http_DELETE, url)
+        except OSCError, err:
+            raise ObsError("can't delete project %s: %s" % (prj, err))
+
     def exists(self, prj, pkg=''):
         """Check if project or package exists."""