summaryrefslogtreecommitdiff
blob: 705c148963a2d1f80adfdbf84e3fa1701e6b75c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# https://sourceforge.net/tracker2/?func=detail&aid=2622610&group_id=118573&atid=681722
--- a/gnomecatalog/data.py	(revision 1)
+++ b/gnomecatalog/data.py	(working copy)
@@ -33,32 +33,34 @@
 
 	""" Leemos el disco y lo insertamos en la base de datos """
 	def import_disk(self):
-		path = self.config.get("source")
+		
+		for path in utils.get_path():
+			#~ path = self.config.get("source")
 
-		database = storage.Sqlite(self.opened_database, self.app, True)
+			database = storage.Sqlite(self.opened_database, self.app, True)
 
-		if self.config.get("thumbnails") == "True":
-			if not os.path.exists(database.database + "_thumbs"):
-				os.mkdir(database.database + "_thumbs")
+			if self.config.get("thumbnails") == "True":
+				if not os.path.exists(database.database + "_thumbs"):
+					os.mkdir(database.database + "_thumbs")
 
-		"""Importamos un nuevo disco"""
-		if not utils.is_mounted(path):
-			self.__path = path
-			self.__progress = self.app.progress_bar
-			utils.mount(path, self._mount_callback)
+			"""Importamos un nuevo disco"""
+			if not utils.is_mounted(path):
+				self.__path = path
+				self.__progress = self.app.progress_bar
+				utils.mount(path, self._mount_callback)
 
-		disk = self.reader.read(path, self.app.progress_bar)
+			disk = self.reader.read(path, self.app.progress_bar)
 
-		if disk:
-			""" ahora insertamos los datos en la base de datos. """
-			disk = database.insert_disk(disk)
-			if self.config.get("eject") == "True": utils.eject(path)
-			self.app.set_guardar_state(True)
-#			self.load_data()
-#			self.treeDisk.select(disk)
-	#		self.show_files_from_selected()
-			database.close()
-			return disk
+			if disk:
+				""" ahora insertamos los datos en la base de datos. """
+				disk = database.insert_disk(disk)
+				if self.config.get("eject") == "True": utils.eject(path)
+				self.app.set_guardar_state(True)
+	#			self.load_data()
+	#			self.treeDisk.select(disk)
+		#		self.show_files_from_selected()
+				database.close()
+				return disk
 
 
 	""" Carga los discos de a base de datos en el treeview tree """
--- a/gnomecatalog/utils.py	(revision 1)
+++ b/gnomecatalog/utils.py	(working copy)
@@ -1,6 +1,28 @@
 import os, commands, time
 import gnomevfs, gtk
+import dbus, dbus.glib, sys, urllib
 
+
+def get_path():
+	path = []
+	bus = dbus.SystemBus()
+	hal_obj = bus.get_object ('org.freedesktop.Hal', '/org/freedesktop/Hal/Manager')
+	hal = dbus.Interface (hal_obj, 'org.freedesktop.Hal.Manager')
+	udis = hal.FindDeviceByCapability ('storage')
+	for udi in udis:
+		dev_obj = bus.get_object ('org.freedesktop.Hal', udi)
+		dev = dbus.Interface (dev_obj, 'org.freedesktop.Hal.Device')
+		if (dev.GetProperty ('storage.removable')):
+			block = dev.GetProperty ('block.device')
+			f = open ('/etc/mtab')
+			for line in f.readlines():
+				if (line.find (block) == 0):
+					mount = line.split()
+					path.append(mount[1].replace('\\040',' '))
+			f.close()
+	return path
+
+
 def locate_file(path, type = "icons"):
 	prefixes = ['', 'usr/', 'usr/local/']
 	if type == "glade":
--- a/gnomecatalog/ui/app.py	(revision 1)
+++ b/gnomecatalog/ui/app.py	(working copy)
@@ -162,14 +162,6 @@
 		self.import_thread.start()
 		gobject.timeout_add(1000, self.wait_import_cb)
 
-#		t2 = threading.Thread(target=self.wait_import_cb)
-#		t2.setDaemon(True)
-#		t2.start()
-
-#		gobject.idle_add(self.wait_import_cb, t)
-
-		#dialogs.addDisk(self.data).loadDisk()
-
 	def wait_import_cb(self):
 		if not self.import_thread.isAlive():
 			self.hbox_import.hide()