import vtk
import os
import time
from paraview import simple
from paraview import servermanager as sm
from vtk.vtkPVClientServerCoreCore import vtkProcessModule

simple.Connect("localhost")

def cb(source,evt):
  print "callback %s" % str(evt)

lil=sm.CreateProxy("coprocessing","LiveInsituLink")
lil.AddObserver(vtk.vtkCommand.AnyEvent,cb)
lil.DebugOn()
lil.InsituPort=22222

lil.InvokeCommand("Initialize")

pm=vtkProcessModule.GetProcessModule()
nam=pm.GetNetworkAccessManager()
nam.DebugOn()
cnt=0
while True:
  status=nam.ProcessEvents(100)
  if (cnt%1000==0):
    print "waiting for events ...",lil.GetTimeStep()
  cnt+=1