On 02:32 pm, doug.farr...@gmail.com wrote: >Hi all, > >I'd like to get some comments on the code below (including, "don't be >a bonehead!" <g>). I'm trying to write a API library for database >access that can be used by both synchronous (non-twisted, no reactor) >code and asynchronous (twisted, with reactor) code where the methods >of the library can called in either environment. What I'd like is the >method to return the results of the call (database query results) when >in synchronous mode, and a deferred that is a result of the database >call in asynchronous mode. > >What I've done below is create a decorator class called CallerMode >that is used to decorate a function/method that normally returns a >deferred. If the CallerMode class is in synchronous mode it starts a >reactor to get the default callbacks to get called, which gets the >results or exceptions, and stops the reactor. > >Am I being a dunce doing this kind of thing? Any suggestions, >comments, etc. are welcome.
If you add a second call to your example function in synchronous mode, I think you'll notice there's a problem - you can only start and stop the reactor once. Jean-Paul _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python