add additional clear text error messages for burntask
[enigma2.git] / lib / python / Plugins / Extensions / DVDBurn / Process.py
index b8a3788e6778fa46ef65cec8a806d9e8de276056..7a03b7ebd68cdf8c9f54d8ba442f199282f1d6c9 100644 (file)
@@ -251,11 +251,13 @@ class BurnTaskPostcondition(Condition):
                        task.ERROR_WRITE_FAILED: _("Write failed!"),
                        task.ERROR_DVDROM: _("No (supported) DVDROM found!"),
                        task.ERROR_ISOFS: _("Medium is not empty!"),
+                       task.ERROR_FILETOOLARGE: _("TS file is too large for ISO9660 level 1!"),
+                       task.ERROR_ISOTOOLARGE: _("ISO file is too large for this filesystem!"),
                        task.ERROR_UNKNOWN: _("An unknown error occured!")
                }[task.error]
 
 class BurnTask(Task):
-       ERROR_NOTWRITEABLE, ERROR_LOAD, ERROR_SIZE, ERROR_WRITE_FAILED, ERROR_DVDROM, ERROR_ISOFS, ERROR_UNKNOWN = range(7)
+       ERROR_NOTWRITEABLE, ERROR_LOAD, ERROR_SIZE, ERROR_WRITE_FAILED, ERROR_DVDROM, ERROR_ISOFS, ERROR_FILETOOLARGE, ERROR_ISOTOOLARGE, ERROR_UNKNOWN = range(9)
        def __init__(self, job, extra_args=[], tool="/bin/growisofs"):
                Task.__init__(self, job, job.name)
                self.weighting = 500
@@ -303,6 +305,10 @@ class BurnTask(Task):
                        else:
                                self.error = self.ERROR_UNKNOWN
                                print "BurnTask: unknown error %s" % line
+               elif line.find("-allow-limited-size was not specified. There is no way do represent this file size. Aborting.") != -1:
+                       self.error = self.ERROR_FILETOOLARGE
+               elif line.startswith("genisoimage: File too large."):
+                       self.error = self.ERROR_ISOTOOLARGE
 
 class RemoveDVDFolder(Task):
        def __init__(self, job):
@@ -701,7 +707,7 @@ class DVDJob(Job):
                        if output == "dvd":
                                self.name = _("Burn DVD")
                                tool = "/bin/growisofs"
-                               burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD(), "-dvd-compat", "-use-the-force-luke=dummy" ]
+                               burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD(), "-dvd-compat" ]
                        elif output == "iso":
                                self.name = _("Create DVD-ISO")
                                tool = "/usr/bin/mkisofs"
@@ -739,7 +745,7 @@ class DVDdataJob(Job):
                tool = "/bin/growisofs"
                if output == "dvd":
                        self.name = _("Burn DVD")
-                       burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD(), "-dvd-compat", "-use-the-force-luke=dummy" ]
+                       burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD(), "-dvd-compat" ]
                elif output == "iso":
                        tool = "/usr/bin/mkisofs"
                        self.name = _("Create DVD-ISO")
@@ -762,11 +768,11 @@ class DVDisoJob(Job):
                self.menupreview = False
                if imagepath.endswith(".iso"):
                        PreviewTask(self, imagepath)
-                       burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD() + '='+imagepath, "-dvd-compat", "-use-the-force-luke=dummy" ]
+                       burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD() + '='+imagepath, "-dvd-compat" ]
                else:
                        PreviewTask(self, imagepath + "/VIDEO_TS/")
                        volName = self.project.settings.name.getValue()
-                       burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD(), "-dvd-compat", "-use-the-force-luke=dummy" ]
+                       burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD(), "-dvd-compat" ]
                        burnargs += [ "-dvd-video", "-publisher", "Dreambox", "-V", volName, imagepath ]
                tool = "/bin/growisofs"
                BurnTask(self, burnargs, tool)