allow styleable TemplatedMultiContent lists
[enigma2.git] / lib / python / Components / Harddisk.py
index e0b668720c4e9bdf9ee1d260e1399f06d3fd35eb..febd16dd50678ab6361a5c23378769081b6a6f27 100644 (file)
@@ -19,20 +19,22 @@ class Harddisk:
                s_minor = int(tmp[1])
                for disc in listdir("/dev/discs"):
                        path = readlink('/dev/discs/'+disc)
-                       devidex = '/dev'+path[2:]+'/'
-                       disc = devidex+'disc'
+                       devidex = '/dev/discs/'+disc+'/'
+                       devidex2 = '/dev'+path[2:]+'/'
+                       disc = devidex2+'disc'
                        ret = stat(disc).st_rdev
                        if s_major == major(ret) and s_minor == minor(ret):
                                self.devidex = devidex
-                               print "new Harddisk",  device, self.devidex
+                               self.devidex2 = devidex2
+                               print "new Harddisk", device, '->', self.devidex, '->', self.devidex2
                                break
 
        def __lt__(self, ob):
                return self.device < ob.device
 
        def bus(self):
-               ide_cf = self.device.find("hd") == 0 and self.devidex.find("host0") == -1 # 7025 specific
-               internal = self.device.find("hd") == 0 and self.devidex
+               ide_cf = self.device.find("hd") == 0 and self.devidex2.find("host0") == -1 # 7025 specific
+               internal = self.device.find("hd") == 0
                if ide_cf:
                        ret = "External (CF)"
                elif internal:
@@ -203,6 +205,12 @@ class Harddisk:
                        return -3
 
                return 0
+       
+       def getDeviceDir(self):
+               return self.devidex
+       
+       def getDeviceName(self):
+               return self.getDeviceDir() + "disc"
 
 class Partition:
        def __init__(self, mountpoint, description = "", force_mounted = False):
@@ -242,7 +250,7 @@ class Partition:
 class HarddiskManager:
        def __init__(self):
                self.hdd = [ ]
-               
+               self.cd = ""
                self.partitions = [ ]
                
                self.on_partition_list_change = CList()
@@ -295,6 +303,8 @@ class HarddiskManager:
                                        if partition[0:len(blockdev)] != blockdev:
                                                continue
                                        partitions.append(partition)
+                       else:
+                               self.cd = blockdev
                except IOError:
                        error = True
                return error, blacklisted, removable, is_cdrom, partitions
@@ -355,9 +365,11 @@ class HarddiskManager:
                        if cap != "":
                                hdd += " (" + cap + ")"
                        list.append((hdd, hd))
-               print "list", list
                return list
 
+       def getCD(self):
+               return self.cd
+
        def getMountedPartitions(self, onlyhotplug = False):
                return [x for x in self.partitions if (x.is_hotplug or not onlyhotplug) and x.mounted()]