[nanny] RemovePkgFilter exported to dbus



commit 66602db164f3a0a7442d45e7f9708512fe73fce0
Author: Roberto Majadas <roberto majadas openshine com>
Date:   Mon Feb 1 16:18:05 2010 +0100

    RemovePkgFilter exported to dbus

 daemon/src/FilterManager.py |   13 ++++++++++++-
 daemon/src/NannyDBus.py     |    5 +++++
 2 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/daemon/src/FilterManager.py b/daemon/src/FilterManager.py
index 025f988..fccfa88 100644
--- a/daemon/src/FilterManager.py
+++ b/daemon/src/FilterManager.py
@@ -247,7 +247,18 @@ class FilterManager (gobject.GObject) :
             return False
 
     def remove_pkg_filter(self, pkg_id):
-        pass
+        for id, ro in self.list_pkg_filter() :
+             if id == pkg_id and ro == False:
+                 if self.db_pools.has_key(pkg_id) :
+                     db = self.db_pools.pop(pkg_id)
+                     db.close()
+                     self.pkg_filters_conf.pop(pkg_id)
+                     self.__save_pkg_filters_conf()
+                     db_dir = os.path.dirname(pkg_id)
+                     print "Removing dir %s" % db_dir
+                     shutil.rmtree(db_dir)
+                     return True
+        
 
     def update_pkg_filter(self, pkg_id, new_db):
         for id, ro in self.list_pkg_filter() :
diff --git a/daemon/src/NannyDBus.py b/daemon/src/NannyDBus.py
index 3c2c52a..1847b3b 100644
--- a/daemon/src/NannyDBus.py
+++ b/daemon/src/NannyDBus.py
@@ -137,6 +137,11 @@ class NannyDBus(dbus.service.Object):
         return self.quarterback.filter_manager.add_pkg_filter(name, description, path)
 
     @dbus.service.method("org.gnome.Nanny.WebDatabase",
+                         in_signature='s', out_signature='b')
+    def RemovePkgFilter(self, pkg_id):
+        return self.quarterback.filter_manager.remove_pkg_filter(pkg_id)
+
+    @dbus.service.method("org.gnome.Nanny.WebDatabase",
                          in_signature='ss', out_signature='b')
     def UpdatePkgFilter(self, pkg_id, new_db_path):
         return self.quarterback.filter_manager.update_pkg_filter(pkg_id, new_db_path)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]