diff src/tools/sqlite.py @ 420:acd908528ef7

core: profile creation/deletion through database
author Goffi <goffi@goffi.org>
date Wed, 02 Nov 2011 22:49:23 +0100
parents 32dc8b18c2ae
children 6c20c76abdcc
line wrap: on
line diff
--- a/src/tools/sqlite.py	Wed Nov 02 22:47:59 2011 +0100
+++ b/src/tools/sqlite.py	Wed Nov 02 22:49:23 2011 +0100
@@ -89,8 +89,20 @@
         d = self.dbpool.runQuery("INSERT INTO profiles(name) VALUES (?)", (name,))
         d.addCallback(getProfileId)
         d.addCallback(profile_created)
-        d.addErrback(lambda ignore: error(_("Can't create profile %(name)s" % {"name":name})))
         return d
+    
+    def deleteProfile(self, name):
+        """Delete profile
+        @param name: name of the profile
+        @return: deferred triggered once profile is actually deleted"""
+        def deletionError(failure):
+            error(_("Can't delete profile [%s]") % name)
+            return failure
+        del self.profiles[name]
+        d = self.dbpool.runQuery("DELETE FROM profiles WHERE name = ?", (name,))
+        d.addCallback(lambda ignore: info(_("Profile [%s] deleted") % name))
+        return d
+
 
     #Params
     def loadGenParams(self, params_gen):