- add ePython::call return support (only int)
[enigma2.git] / lib / python / Components / Harddisk.py
index 71c038369c31140d2f9ad22d48205ca342421d5b..a638977061674e19ef18aa7fde4754fbe4c1f7b7 100644 (file)
@@ -24,11 +24,24 @@ class Harddisk:
        def getIndex(self):
                return self.index
 
+       def bus(self):
+               ret = ""
+
+               if self.index & 2:
+                       ret = "External (CF) - "
+               else:
+                       ret = "Internal - "
+               
+               if self.index & 1:
+                       return ret + "Slave"
+               else:
+                       return ret + "Master"
+
        def capacity(self):
                procfile = tryOpen(self.prochdx + "capacity")
                
                if procfile == "":
-                       return -1
+                       return ""
 
                line = procfile.readline()
                procfile.close()
@@ -36,10 +49,12 @@ class Harddisk:
                try:
                        cap = int(line)
                except:
-                       return -1
+                       return ""
                
-               return cap      
-                                               
+               cap = cap / 1000 * 512 / 1000
+               
+               return "%d.%03d GB" % (cap/1024, cap%1024)
+                                                               
        def model(self):
                procfile = tryOpen(self.prochdx + "model")
                
@@ -157,28 +172,15 @@ class HarddiskManager:
        def HDDList(self):
                list = [ ]
                for hd in self.hdd:
-                       cap = hd.capacity() / 1000 * 512 / 1000
-                       print cap
                        hdd = hd.model() + " (" 
-                       if hd.index & 1:
-                               hdd += "slave"
-                       else:   
-                               hdd += "master"
-                       if cap > 0:
-                               hdd += ", %d.%03d GB" % (cap/1024, cap%1024)
+                       hdd += hd.bus()
+                       cap = hd.capacity()     
+                       if cap != "":
+                               hdd += ", " + cap
                        hdd += ")"
-
-                       print hdd
-                       
-#                      if hd.index == 0:
-#                              if hd.initialize() == 0:
-#                                      print "hdd status ok"
-#                              else:
-#                                      print "hdd status ok"
-
                        list.append((hdd, hd))
-               return list
 
+               return list
 
 harddiskmanager = HarddiskManager()