Package: eroaster
Version: 2.2.0-0.8-2
Severity: normal
Followup-For: Bug #254122

tags 254122 +patch

I hope this would satisfy both sides. 

This patch adds 2 preference options: transport layer indicators (TLI)
for reader and recorder.  Instead of using of USE_ATAPI variable in the
code there is GUI options now for user interaction. One who wish to use
"experimental" ATAPI feature can set they to "ATAPI".

In fact, only cdrecord accepts TLI, but no other eroaster's backends:
cdda2wav, cdrdao, readcd (please fix me if i'm wrong). Thus, the value
of setting TLI to "ATAPI" for the reader device is under question.

Both TLI options are "" by default, cdrecord will operate on SCSI bus,
in an old style fashion (experimental feature disabled).

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-686
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R

Versions of packages eroaster depends on:
ii  cdda2wav                  4:2.01+01a01-2 Creates WAV files from audio CDs
ii  cdrecord                  4:2.01+01a01-2 command line CD writing tool
ii  mkisofs                   4:2.01+01a01-2 Creates ISO-9660 CD-ROM filesystem
ii  python                    2.3.3-7        An interactive high-level object-o
ii  python-gtk2               2.2.0-1        Python bindings for the GTK+ widge

-- no debconf information
diff -ru ../tmp.orig/eroaster-2.2.0-0.8/Application.py ./Application.py
--- ../tmp.orig/eroaster-2.2.0-0.8/Application.py       2004-03-28 
13:16:26.000000000 +0400
+++ ./Application.py    2005-04-19 21:54:05.000000000 +0400
@@ -818,6 +818,7 @@
         else:
             speed = self.speedRW.get_value_as_int()
 
+        tli = self.tli.get_text()
         channel = self.channel.get_text()
         id = self.id.get_text()
         lun = self.lun.get_text()
@@ -826,7 +827,7 @@
             gnome.tools.ErrorDialog(_("Invalid recorder settings !"))
             return gtk.FALSE
 
-        cdrecord = cdrtools.cdrecord(channel, id, lun, 
self.devWriter.get_text(), self.cat.get_loglevel())
+        cdrecord = cdrtools.cdrecord(tli, channel, id, lun, 
self.devWriter.get_text(), self.cat.get_loglevel())
         cdrecord.verbose_mode = gtk.TRUE
         cdrecord.burnfree = self.burnproof.get_active()
         cdrecord.dummy_mode = self.dummy.get_active()
@@ -1459,6 +1460,9 @@
         recordbox.show()
 
         # Create a table containing the SCSI-options (Select CD-Writer)
+        tli = gtk.Label(_("TLI:"))
+        tli.set_alignment(1.0, 0.5)
+        tli.show()
         channel = gtk.Label(_("Channel:"))
         channel.set_alignment(1.0, 0.5)
         channel.show()
@@ -1469,6 +1473,9 @@
         lun.set_alignment(1.0, 0.5)
         lun.show()
 
+        self.tli = gtk.Entry()
+        self.tli.set_size_request(35, -1)
+        self.tli.show()
         self.channel = gtk.Entry()
         self.channel.set_size_request(35, -1)
         self.channel.show()
@@ -1483,6 +1490,9 @@
         autobutton.connect('clicked', self.DetectRecorder)
         autobutton.show()
 
+        tliReader = gtk.Label(_("TLI:"))
+        tliReader.set_alignment(1.0, 0.5)
+        tliReader.show()
         channelReader = gtk.Label(_("Channel:"))
         channelReader.set_alignment(1.0, 0.5)
         channelReader.show()
@@ -1493,6 +1503,9 @@
         lunReader.set_alignment(1.0, 0.5)
         lunReader.show()
 
+        self.tliReader = gtk.Entry()
+        self.tliReader.set_size_request(35, -1)
+        self.tliReader.show()
         self.channelReader = gtk.Entry()
         self.channelReader.set_size_request(35, -1)
         self.channelReader.show()
@@ -1548,23 +1561,27 @@
         devWriter.set_alignment(1.0, 0.5)
         devWriter.show()
 
-        recordtab = gtk.Table(3, 9)
-        recordtab.attach(channel, 0, 1, 0, 1, gtk.FILL, 0, 5)
-        recordtab.attach(self.channel, 1, 2, 0, 1, 0, 0, 5)
-        recordtab.attach(id, 0, 1, 1, 2, gtk.FILL, 0, 5)
-        recordtab.attach(self.id, 1, 2, 1, 2, 0, 0, 5)
-        recordtab.attach(lun, 0, 1, 2, 3, gtk.FILL, 0, 5)
-        recordtab.attach(self.lun, 1, 2, 2, 3, 0, 0, 5)
+        recordtab = gtk.Table(4, 9)
+        recordtab.attach(tli, 0, 1, 0, 1, gtk.FILL, 0, 5)
+        recordtab.attach(self.tli, 1, 2, 0, 1, 0, 0, 5)
+        recordtab.attach(channel, 0, 1, 1, 2, gtk.FILL, 0, 5)
+        recordtab.attach(self.channel, 1, 2, 1, 2, 0, 0, 5)
+        recordtab.attach(id, 0, 1, 2, 3, gtk.FILL, 0, 5)
+        recordtab.attach(self.id, 1, 2, 2, 3, 0, 0, 5)
+        recordtab.attach(lun, 0, 1, 3, 4, gtk.FILL, 0, 5)
+        recordtab.attach(self.lun, 1, 2, 3, 4, 0, 0, 5)
         recordtab.attach(autobutton, 2, 4, 0, 2, gtk.SHRINK, 0, 5)
         recordtab.attach(devWriter, 2, 3, 2, 3, 0, 0, 5)
         recordtab.attach(self.devWriter, 3, 4, 2, 3, 0, 0, 5)
 
-        recordtab.attach(channelReader, 4, 5, 0, 1, gtk.FILL, 0, 5)
-        recordtab.attach(self.channelReader, 5, 6, 0, 1, 0, 0, 5)
-        recordtab.attach(idReader, 4, 5, 1, 2, gtk.FILL, 0, 5)
-        recordtab.attach(self.idReader, 5, 6, 1, 2, 0, 0, 5)
-        recordtab.attach(lunReader, 4, 5, 2, 3, gtk.FILL, 0, 5)
-        recordtab.attach(self.lunReader, 5, 6, 2, 3, 0, 0, 5)
+        recordtab.attach(tliReader, 4, 5, 0, 1, gtk.FILL, 0, 5)
+        recordtab.attach(self.tliReader, 5, 6, 0, 1, 0, 0, 5)
+        recordtab.attach(channelReader, 4, 5, 1, 2, gtk.FILL, 0, 5)
+        recordtab.attach(self.channelReader, 5, 6, 1, 2, 0, 0, 5)
+        recordtab.attach(idReader, 4, 5, 2, 3, gtk.FILL, 0, 5)
+        recordtab.attach(self.idReader, 5, 6, 2, 3, 0, 0, 5)
+        recordtab.attach(lunReader, 4, 5, 3, 4, gtk.FILL, 0, 5)
+        recordtab.attach(self.lunReader, 5, 6, 3, 4, 0, 0, 5)
         recordtab.attach(btnAutoReader, 6, 8, 0, 2, gtk.SHRINK, 0, 5)
         recordtab.attach(devReader, 6, 7, 2, 3, 0, 0, 5)
         recordtab.attach(self.devReader, 7, 8, 2, 3, 0, 0, 5)
@@ -1678,6 +1695,7 @@
         file.write("\n[Recorder]\n")
         file.write("Speed: %d\n" % self.speed.get_value_as_int())
         file.write("SpeedRW: %d\n" % self.speedRW.get_value_as_int())
+        file.write("TLI: %s\n" % self.tli.get_text())
         file.write("Channel: %s\n" % self.channel.get_text())
         file.write("ID: %s\n" % self.id.get_text())
         file.write("LUN: %s\n" % self.lun.get_text())
@@ -1687,6 +1705,7 @@
 
         # Reader options
         file.write("\n[Reader]\n")
+        file.write("TLI: %s\n" % self.tliReader.get_text())
         file.write("Channel: %s\n" % self.channelReader.get_text())
         file.write("ID: %s\n" % self.idReader.get_text())
         file.write("LUN: %s\n" % self.lunReader.get_text())
@@ -1750,6 +1769,7 @@
                 # Recorder options
                 self.speed.set_value(atoi(self.parser.get("Recorder", 
"Speed")))
                 self.speedRW.set_value(atoi(self.parser.get("Recorder", 
"SpeedRW")))
+                self.tli.set_text(self.parser.get("Recorder", "TLI"))
                 self.channel.set_text(self.parser.get("Recorder", "Channel"))
                 self.id.set_text(self.parser.get("Recorder", "ID"))
                 self.lun.set_text(self.parser.get("Recorder", "LUN"))
@@ -1758,6 +1778,7 @@
                 self.eject.set_active(str2bool(self.parser.get("Recorder", 
"Eject")))
 
                 # Reader options
+                self.tliReader.set_text(self.parser.get("Reader", "TLI"))
                 self.channelReader.set_text(self.parser.get("Reader", 
"Channel"))
                 self.idReader.set_text(self.parser.get("Reader", "ID"))
                 self.lunReader.set_text(self.parser.get("Reader", "LUN"))
@@ -1814,6 +1835,7 @@
             # Recorder options
             self.speed.set_value(8)
             self.speedRW.set_value(4)
+            self.tli.set_text("")
             self.channel.set_text("00")
             self.id.set_text("00")
             self.lun.set_text("00")
@@ -1821,6 +1843,7 @@
             self.eject.set_active(1)
 
             # Reader options
+            self.tliReader.set_text("")
             self.channelReader.set_text("00")
             self.idReader.set_text("00")
             self.lunReader.set_text("00")
@@ -1847,7 +1870,11 @@
 
     def DetectSCSIDevice(self, device):
         """ Detect SCSI device. """
-        devicelist = cdrtools.cdrtools(self.cat.get_loglevel()).devices()
+        if (device == deviceReader):
+            tli = self.tliReader.get_text()
+        elif (device == deviceRecorder):
+            tli = self.tli.get_text()
+        devicelist = cdrtools.cdrtools(tli, self.cat.get_loglevel()).devices()
         if (len(devicelist) == 0):
             gnome.tools.ErrorDialog(_("Couldn't detect your reader / recorder 
!\nPlease make sure that you are root or that you're allowed to read /dev/sg* 
!"))
         elif len(devicelist) == 1:
@@ -1862,7 +1889,7 @@
                 self.lun.set_text(devicelist[0][2])
                 self.devWriter.set_text("/dev/scd0")
                 # Detect maximum write speed
-                cdrecord = cdrtools.cdrecord(devicelist[0][0], 
devicelist[0][1], devicelist[0][2], "/dev/scd0")
+                cdrecord = cdrtools.cdrecord(tli, devicelist[0][0], 
devicelist[0][1], devicelist[0][2], "/dev/scd0")
                 (cd_speed, dvd_speed) = cdrecord.get_write_speed()
                 self.speed.set_value(cd_speed)
         else:
diff -ru ../tmp.orig/eroaster-2.2.0-0.8/cdrtools.py ./cdrtools.py
--- ../tmp.orig/eroaster-2.2.0-0.8/cdrtools.py  2004-03-28 13:21:34.000000000 
+0400
+++ ./cdrtools.py       2005-04-19 21:42:40.000000000 +0400
@@ -12,9 +12,6 @@
 
 import os
 
-# Change this for experimental ATAPI support
-USE_ATAPI = TRUE  # TRUE or FALSE
-
 TRACK_MODE_DATA = "data"
 TRACK_MODE_MODE2 = "mode2"
 TRACK_MODE_AUDIO = "audio"
@@ -31,13 +28,13 @@
 
 class cdrtools:
 
-    def __init__(self, loglevel = LOGLEVEL_NORMAL, scan_atapi = USE_ATAPI):
+    def __init__(self, tli, loglevel = LOGLEVEL_NORMAL):
         self.__cdrtools_logger = Logger().get_instance(self)
         self.__cdrtools_logger.set_loglevel(loglevel)
         self.__cdrtools_devices = []
         self.__cdrtools_cdrecord_command = which("cdrecord")
         self.__cdrtools_mkisofs_command = which("mkisofs")
-        self.__cdrtools_scanbus(scan_atapi)
+        self.__cdrtools_scanbus(tli)
 
     def devices(self):
         """ Returns the devices found by cdrecord. """
@@ -60,11 +57,11 @@
         jolietCharsets.sort()
         return jolietCharsets
 
-    def __cdrtools_scanbus(self, scan_atapi):
+    def __cdrtools_scanbus(self, tli):
         """ Gets the list of available devices by executing "cdrecord 
-scanbus". """
         device = ""
-        if (scan_atapi == TRUE):
-            device = "dev=ATAPI"
+        if (tli != ""):
+            device = "dev=%s" % tli
         command_line = "%s %s -scanbus 2>&1" % 
(self.__cdrtools_cdrecord_command, device)
         self.__cdrtools_logger.debug("Searching for devices: %s" % 
command_line)
         output = cmdoutput(command_line)
@@ -101,7 +98,7 @@
     blank_mode = None
     tsize = ""
 
-    def __init__(self, bus, target, lun, device, loglevel = LOGLEVEL_NORMAL, 
use_atapi = USE_ATAPI):
+    def __init__(self, tli, bus, target, lun, device, loglevel = 
LOGLEVEL_NORMAL):
         self.__cdrecord_logger = Logger().get_instance(self)
         self.__cdrecord_logger.set_loglevel(loglevel)
         self.__cdrecord_command = which("cdrecord")
@@ -117,8 +114,8 @@
         self.__cdrecord_version_extra = ""
 
         self.__cdrecord_device_string = "dev="
-        if (use_atapi == TRUE):
-            self.__cdrecord_device_string = "%sATAPI:" % 
self.__cdrecord_device_string
+        if (tli != ""):
+            self.__cdrecord_device_string = "%s%s:" % 
(self.__cdrecord_device_string, tli)
         self.__cdrecord_device_string = "%s%d,%d,%d" % 
(self.__cdrecord_device_string, bus, target, lun)
 
         self.__cdrecord_read_version()

Reply via email to