>I have some services written that I'd like to run in a ta.c w/ twistd. >One of them uses wxpython. I originally used the wxreactor but it seams >to have some problems on Mac OS X and Windows, so with help from some >people on this list I ended up using the wx mainloop as the mainloop and >putting the reactor in a separate thread. This seams to work well, but >now that I want to create a .tac I don't think this is possible.
I have been working through the Finger example section, and also use wxPython for a GUI, and although it was a bit tricky to setup, it works fine. I also setup my Finger server code as a .tac, and twistd starts it up also. Here is some of the code fragments I used: # finger_server.py from twisted.python import log from twisted.internet import wxreactor wxreactor.install() # import t.i.reactor only after installing wxreactor: from twisted.application import internet, service from twisted.internet import reactor, protocol, defer from twisted.protocols import basic The first step is importing *and* installing wxreactor. After that, you have to create and register a wxPython App with the Reactor, and it takes care of the wx loop. app = MyApp(0) reactor.registerWxApp(app) msgWin = app.frame.foundText # this is a textCtrl I send output to. fs = FingerService(msgWin) ff = fs.getFingerFactory() fsf = fs.getFingerSetterFactory() global application application = service.Application('finger', uid=1, gid=1) sc = service.IServiceCollection(application) internet.TCPServer(79, ff).setServiceParent(sc) internet.TCPServer(179, fsf).setServiceParent(sc) In my code, I actually use: if __name__ == '__main__': main_code() else: service_code() This lets me run the code in Eclipse for testing, then I copy the .py file to a .tac file, and it works as a twistd daemon, including popping up a wxPython window for output. It *also* works as a standalone file when I use py2exe on the .py file - but I don't see how you could use twistd with a .exe, since twistd expects a script. I hope this is clear - if not, I can send you my entire finger_server.py file, for your amusement :) John C> _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python