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()