def __init__(self): self.station = "Hauptbahnhof" self.gtk_init() timetableprocess.start(self.station, 100, self.update)
def restart(self, widget): timetableprocess.stop() self.button.set_image(self.getImage(self.IMG_LOADING)) timetableprocess.start(self.station, 100, self.update)
# -*- coding: utf-8 -*- import gobject import sys import timetableprocess import os import gobject def handle_data(source, condition): print "handle_data called" #data = source.readline() data = timetableprocess.getstr() print data; return True def process_cleaner(): global io_event print "process_cleaner called" if(timetableprocess._parser.poll() != None): print "subprocess has terminated" timetableprocess._parser.stdout.close() gobject.source_remove(io_event) timer = gobject.timeout_add(10000, process_cleaner) timetableprocess.start("Hauptbahnhof", 10) io_event = gobject.io_add_watch(timetableprocess._parser.stdout, gobject.IO_IN, handle_data) timer = gobject.timeout_add(10000, process_cleaner) loop = gobject.MainLoop() loop.run()