[Jahshaka-cvs] jah/jahtools/jbatch jbatch_server.py,1.17,1.18
Status: Beta
Brought to you by:
jahshaka
From: Charles Y. <lil...@us...> - 2007-05-02 22:41:06
|
Update of /cvsroot/jahshaka/jah/jahtools/jbatch In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv7178 Modified Files: jbatch_server.py Log Message: + debug info Index: jbatch_server.py =================================================================== RCS file: /cvsroot/jahshaka/jah/jahtools/jbatch/jbatch_server.py,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- jbatch_server.py 1 May 2007 21:41:55 -0000 1.17 +++ jbatch_server.py 2 May 2007 22:41:00 -0000 1.18 @@ -51,6 +51,7 @@ self.playing = False self.checked = False self.current_input = [ ] + self.input = None self.dict = { } self.dict[ "shutdown" ] = self.shutdown self.dict[ "play" ] = self.play @@ -134,6 +135,34 @@ self.queue.append( "start" ) self.play( ) + def dump( self, input ): + result = "" + if input is not None: + i = 0 + while i < input.slots( ): + result += self.dump( input.fetch_slot( i ) ) + i += 1 + + result += balance.retrieve_uri( input ) + keys = input.properties( ).get_keys( ) + for i in keys: + if str( i )[ 0:4 ] != "rpn_" and str( i ) != "debug": + value = "<unknown>" + property = input.properties( ).get_property( i ) + if property.is_a_int( ): + value = property.value_as_int( ) + elif property.is_a_double( ): + value = property.value_as_double( ) + elif property.is_a_wstring( ): + value = property.value_as_wstring( ) + result += " " + str( i ) + "=" + str( value ) + return result + "\n" + return "\n" + + def describe( self, socket ): + socket.send( self.dump( self.input ) ) + return "" + def sync( self ): self.sync_request = True @@ -229,6 +258,7 @@ rpn_engine.output.init( ) output = rpn_engine.output balance.activate( input ) + self.input = input self.position = input.get_position( ) self.length = input.get_frames( ) self.fps_num = frame.get_fps_num( ) @@ -372,6 +402,8 @@ result = self.server.engine.ls( ) elif arg == "rls": result = self.server.engine.rls( self.client ) + elif arg == "describe": + result = self.server.engine.describe( self.client ) elif arg == "queue": result = str( self.server.engine.queue ) elif arg == "rpn": |