Bug#496360: Updated patch
The previous patch contains a small flaw when trying to delete the file
on exit even if it does not exist.
An updated patch is attached.
Cheers, Tobias
diff -urpN liquidsoap-0.3.8.1+2.orig/gui/liguidsoap.py liquidsoap-0.3.8.1+2/gui/liguidsoap.py
--- liquidsoap-0.3.8.1+2.orig/gui/liguidsoap.py 2008-08-11 14:21:17.000000000 +0200
+++ liquidsoap-0.3.8.1+2/gui/liguidsoap.py 2008-10-10 17:21:43.000000000 +0200
@@ -8,6 +8,8 @@ import gobject
import threading, socket, sys, os, time, re
import getopt
+import tempfile
+
from client import LiqClient
from widgets import View
@@ -104,6 +106,7 @@ This is free software, released under th
# liquidsoap runs liquidsoap with a fixed script
# a few parameteres are available
def liquidsoap(
+ scriptfile,
host='localhost',port=1234,mount='emission.ogg',
backup=''):
if backup=='':
@@ -111,7 +114,7 @@ def liquidsoap(
else:
addbackup=';"backup"'
- os.system("""cat > /tmp/liguidsoap.liq <<__EOL__
+ os.system("""cat > %s <<__EOL__
set("log.file.path","/tmp/lig.<pid>.log")
set("log.stdout",true)
set("server.telnet",true)
@@ -132,10 +135,10 @@ output.icecast.vorbis(
id="broadcast",
host="%s",port=%d,mount="%s",start=false,mixer)
output.file.vorbis(id="backup",start=false,"%s",mixer)
-""" % (host, port, mount, backup))
+""" % (scriptfile, host, port, mount, backup))
pid = os.fork()
if pid==0:
- os.execlp("liquidsoap","liquidsoap","/tmp/liguidsoap.liq")
+ os.execlp("liquidsoap","liquidsoap",scriptfile)
else:
print "Running liquidsoap..."
return pid
@@ -162,10 +165,11 @@ def liguidsoap():
ehost=eport=erun=dialog=None
icehost=iceport=icemount=backup=None
- def exit(pid):
+ def exit(pid, scriptfile):
if pid!=None:
os.kill(pid,15)
os.waitpid(pid,0)
+ os.remove(scriptfile)
gtk.main_quit()
# This startup function can be used to start the GUI directly
@@ -173,12 +177,15 @@ def liguidsoap():
def start(response=None):
# Dialog stuff
liquid_pid=None
+ scriptfile=None
if response!=None:
if response!=gtk.RESPONSE_ACCEPT:
sys.exit()
if erun.get_active():
host,port = 'localhost',1234
+ __unused, scriptfile = tempfile.mkstemp('.liq', 'liquidsoap')
liquid_pid=liquidsoap(
+ scriptfile,
host=icehost.get_text(),
port=iceport.get_value(),
mount=icemount.get_text(),
@@ -195,7 +202,7 @@ def liguidsoap():
win = gtk.Window()
win.set_border_width(10)
win.connect("delete_event", lambda w,e: False)
- win.connect("destroy", lambda osb: exit(liquid_pid))
+ win.connect("destroy", lambda osb: exit(liquid_pid,scriptfile))
win.set_title('Liquidsoap on '+host+':'+str(port))
win.resize(700,300)
try:
Reply to: