There's another critical line that I missed in first report. See
attached patch.

Philipp


--- burn_old.py	2009-08-15 12:28:20.100257616 -0400
+++ burn.py	2009-08-15 12:56:46.150006739 -0400
@@ -244,6 +244,12 @@
         print
 
 
+def shell_escape(s):
+    """Puts the given string in single quotes."""
+
+    return "'" + s.replace("'", "'\\''") + "'"
+
+
 def show_examples(option, opt, value, parser):
     """Show examples for quick startup"""
 
@@ -929,7 +935,7 @@
                     #print "X= ", x
                     y = os.path.abspath(x)
                     #print "Y= ", y
-                    path = path + '\'' + y + '\'' + ' '
+                    path = path + shell_escape(y) + ' '
                     if os.path.isfile(y):
                         size = size + os.path.getsize(y)
                     elif os.path.isdir(y):
@@ -1303,7 +1309,7 @@
                                 + os.path.normpath(
                                     cdrom.iso.tempdir
                                     + 'burn_' + repr(counter))
-                                + '.wav ' + "\"" + y + "\"")
+                                + '.wav ' + shell_escape(y))
                             os.system(ogg_line)
                         else:
                             dev = ao.AudioDevice(
@@ -1348,7 +1354,7 @@
 
         #building cdrecord audio line
         for x in audio_list:
-            tracks = tracks + '\"' + x + '\"' + ' '
+            tracks = tracks + shell_escape(x) + ' '
             #tracks = tracks + x + ' '
         #creates cdrecord line
         cdrom.line_create()

Attachment: signature.asc
Description: Digital signature

Reply via email to