Confusion with os.popen os.spawnl and dvbstream

Steve Homer stephen.homer1 at ntlworld.com
Thu Apr 29 10:38:46 EDT 2004


Hi everyone,

Appologies if this is the wrong forum for this post.

I am a little confused by the code below and any help would be much 
appreciated.

import os,signal,time,sys

class Tzap:
        tzap_exe = '/usr/local/bin/tzap'

        def __init__(self, channel_string):
                self.channel = channel_string

        def SetChannel(self):
                print "Tzap.SetChannel()"
                self.channelpid = os.spawnlp(os.P_NOWAIT, self.tzap_exe, 
self.tzap_exe, self.channel)
                time.sleep(5)
                os.kill(self.channelpid, signal.SIGKILL)
                print "End Tzap.SetChannel()"

class Record:
        dvbstream_exe = '/usr/local/bin/dvbstream'

        def __init__(self, minutes_to_record):
                self.duration = minutes_to_record

        def Record(self):
                commandline = ' -ps 600 601 -o > /Media/Movies/BBC.mpg'
                print self.dvbstream_exe, commandline

                # These are the confusing lines....

                #self.dvbstream_pid = os.popen3(self.dvbstream_exe + 
commandline)
                self.dvbstream_pid = os.spawnl(os.P_NOWAIT, 
self.dvbstream_exe, self.dvbstream_exe, commandline)

                time.sleep(self.duration * 60)

                os.kill(self.dvbstream_pid, signal.SIGKILL)


print "start tzap"
tzap = Tzap('BBC ONE')
tzap.SetChannel()
print "stop tzap"
print "start record"
recorder = Record(1)
recorder.Record()

using the popen3 function I get an mpg stream recording in BBC.mpg but 
using spawnl I get the following

/usr/local/bin/dvbstream  -ps 600 601 -o > /Media/Movies/BBC.mpg
dvbstream v0.5 - (C) Dave Chapman 2001-2004
Released under the GPL.
Latest version available from http://www.linuxstb.org/
Using 224.0.1.2:5004:2
version=2
Streaming 0 streams

and no data in the file. I guess this is something to do with the 
different environment in each case, but I don't know where to start 
debugging it. Any pointers would be much appreciated.

Thanks,
Steve




More information about the Python-list mailing list