Since you are opening the file afresh each time in refreshLog, won't you be reading the first line each time? You probably want a persistent open stream from which you can keep reading. Also, have a look at gobject.io_add_watch, it is probably simpler than threading for your needs.
-Aravind ----- Original Message ---- From: Mark Stahler <[EMAIL PROTECTED]> To: PyGTK <[email protected]> Sent: Monday, December 3, 2007 4:42:56 AM Subject: [pygtk] A Timer and refreshing TextView Hello, I am attempting to have a textview tail the end of a log file. So far I can load the log and scroll to the end however I am running into a problem have the log file refresh. Code: textview = self.gui.get_widget("bottom_textview") # Methods that need to be run on start self.refreshLog() # Timer to autorefresh log timer = threading.Timer(10, self.refreshLog) timer.start() def refreshLog(self): file = open('log.txt') string = file.read() buffer = textview.get_buffer() buffer.set_text(string) mark = buffer.create_mark("end", buffer.get_end_iter()) textview.scroll_to_mark(mark, 0) buffer.delete_mark_by_name("end") The code seems to run ok but the text in the TextView does not update. I loaded the log into vi and appended some text and saved it but the program would not reload it. Am I overlooking something simple? Is there another way to do the timer? Thanks for the help! Mark _______________________________________________ pygtk mailing list [email protected] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/ ____________________________________________________________________________________ Get easy, one-click access to your favorites. Make Yahoo! your homepage. http://www.yahoo.com/r/hs _______________________________________________ pygtk mailing list [email protected] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
