fix burning of data DVDs with TS files
[vuplus_dvbapp] / lib / python / Plugins / Extensions / DVDBurn / DVDToolbox.py
index 9d75621..c766ad5 100644 (file)
@@ -94,21 +94,28 @@ class DVDToolbox(Screen):
                                        print "[Disc status] capacity=%d, used=0" % (capacity)
                                        capacity = used
                                        used = 0
+                       elif line.find("Free Blocks:") > -1:
+                               size = line[15:-3].split('*')
+                               size = int(size[0])*int(size[1])*1024
+                               if size > 0:
+                                       capacity = size
+                                       used = capacity-used                            
+                                       print "[free blocks] capacity=%d, used=%d" % (capacity, used)
                        infotext += line
                self["details"].setText(infotext)
                if self.formattable:
                        self["key_yellow"].text = _("Format")
                else:
                        self["key_yellow"].text = ""
-               percent = 100 * used / capacity
+               percent = 100 * used / (capacity or 1)
                if capacity > 4600:
-                       self["space_label"].text = "%d / %d MB" % (used, capacity) + " (%.2f%% " % percent + _("of a DUAL layer medium used.)")
+                       self["space_label"].text = "%d / %d MB" % (used, capacity) + " (%.2f%% " % percent + _("of a DUAL layer medium used.") + ")"
                        self["space_bar"].value = int(percent)
                elif capacity > 1:
-                       self["space_label"].text = "%d / %d MB" % (used, capacity) + " (%.2f%% " % percent + _("of a SINGLE layer medium used.)")
+                       self["space_label"].text = "%d / %d MB" % (used, capacity) + " (%.2f%% " % percent + _("of a SINGLE layer medium used.") + ")"
                        self["space_bar"].value = int(percent)
                elif capacity == 1 and used > 0:
-                       self["space_label"].text = "%d MB" % (used) + _(" on READ ONLY medium.")
+                       self["space_label"].text = "%d MB " % (used) + _("on READ ONLY medium.")
                        self["space_bar"].value = int(percent)
                else:
                        self["space_label"].text = _("Medium is not a writeable DVD!")