conduit r1376 - in trunk: . conduit/dataproviders conduit/modules/FileModule



Author: jstowers
Date: Sat Mar 15 05:08:35 2008
New Revision: 1376
URL: http://svn.gnome.org/viewvc/conduit?rev=1376&view=rev

Log:
2008-03-15  John Stowers  <john stowers gmail com>

	* conduit/dataproviders/VolumeFactory.py:
	* conduit/modules/FileModule/FileModule.py: Misc fixes to removable 
	volume support.



Modified:
   trunk/ChangeLog
   trunk/conduit/dataproviders/VolumeFactory.py
   trunk/conduit/modules/FileModule/FileModule.py

Modified: trunk/conduit/dataproviders/VolumeFactory.py
==============================================================================
--- trunk/conduit/dataproviders/VolumeFactory.py	(original)
+++ trunk/conduit/dataproviders/VolumeFactory.py	Sat Mar 15 05:08:35 2008
@@ -29,7 +29,7 @@
             log.warn("HAL Could not be Initialized")
 
     def _volume_mounted_cb(self, monitor, volume):
-        log.debug("Volume mounted")
+        log.info("Volume mounted")
         device_udi = volume.get_hal_udi()
         if device_udi :
             props = self._get_properties(device_udi)
@@ -40,7 +40,7 @@
         return True
 
     def _volume_unmounted_cb(self, monitor, volume):
-        log.debug("Volume Umounted")
+        log.info("Volume Umounted")
         device_udi = volume.get_hal_udi()
         if device_udi :
             if self.is_interesting(device_udi, self._get_properties(device_udi)):

Modified: trunk/conduit/modules/FileModule/FileModule.py
==============================================================================
--- trunk/conduit/modules/FileModule/FileModule.py	(original)
+++ trunk/conduit/modules/FileModule/FileModule.py	Sat Mar 15 05:08:35 2008
@@ -134,7 +134,8 @@
 
     def __init__(self, **kwargs):
         VolumeFactory.VolumeFactory.__init__(self, **kwargs)
-        self._volumes = []
+        self._volumes = {}
+        self._categories = {}
 
     def _make_class(self, udi, folder, name):
         log.info("Creating preconfigured folder dataprovider: %s" % folder)
@@ -178,32 +179,35 @@
                 
                 groups = FileDataProvider.read_removable_volume_group_file(mountUri)
                 if len(groups) > 0:
+                    self._volumes[udi] = []
                     for relativeUri,name in groups:
                         klass = self._make_class(
                                             udi=udi,
                                             #uri is relative, make it absolute
                                             folder="%s%s" % (mountUri,relativeUri),
                                             name=name)
-                        self._volumes.append(klass)
+                        self._volumes[udi].append(klass)
                 else:
                     if FileDataProvider.is_on_removable_volume(mountUri):
                         klass = self._make_class(
                                             udi=udi,
                                             folder=mountUri,
                                             name=None)
-                        self._volumes.append(klass)
+                        self._volumes[udi] = [klass]
                         
                 return True
         return False
     
     def get_category(self, udi, **kwargs):
-        return DataProviderCategory.DataProviderCategory(
+        if not self._categories.has_key(udi):
+            self._categories[udi] = DataProviderCategory.DataProviderCategory(
                     kwargs['label'],
                     "drive-removable-media",
                     udi)
+        return self._categories[udi]
 
     def get_dataproviders(self, udi, **kwargs):
-         return self._volumes
+         return self._volumes.get(udi,())
          
     def get_args(self, udi, **kwargs):
         return ()



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