from plugin import * from twisted.internet import task import pysvn currentRev = None client = pysvn.Client() reposurl = 'http://libburn-svn.pykix.org/' def checkForNewCommit(): global currentRev try: newrev = client.log(reposurl, pysvn.Revision(pysvn.opt_revision_kind.head), pysvn.Revision(pysvn.opt_revision_kind.head) )[0] revno = newrev['revision'].number if revno <> currentRev: if currentRev is not None: desc = newrev['message'].strip().replace('\n',' / ') say("New commit (r%s) by %s: %s" % ( revno, newrev['author'], desc)) currentRev = revno except: pass l = task.LoopingCall(checkForNewCommit) l.start(300.0)