[Twisted-Python] Getting a synchronous interface to a twisted reactor

Andrey Fedorov anfedorov at gmail.com
Thu Apr 22 02:06:39 EDT 2010


Thanks! The main reason for the question, though, is just curiosity from
playing with and learning the Twisted API, not necessarily getting the
example working :)

A more direct question would have been - is there a Twisted reactor which
provides a blocking call instead of a callback? Is there an accepted "best"
way of wrapping an non-blocking async API with callbacks into a
blocking synchronous one?

- Andrey

On Thu, Apr 22, 2010 at 12:40 AM, Alexandre Quessy <alexandre at quessy.net>wrote:

> Hello Andrey,
> May I recommend you to look at Twisted Words? There are plenty of IRC
> tools there.
>
> Regards,
> Alex
>
>
> 2010/4/21 Andrey Fedorov <anfedorov at gmail.com>:
> > I'm trying to write a dead-simple interface for an IRC client library,
> like
> > so:
> >     import simpleirc
> >     connection = simpleirc.Connect('irc.freenode.net', 6667)
> >     channel = connection.join('foo')
> >     find_command = re.compile(r'google ([a-z]+)').findall
> >     for msg in channel:
> >         for t in find_command(msg):
> >             channel.say("http://google.com/search?q=%s" % t)
> > Working from the example in the docs, I'm running into trouble with the
> > callbacks (the code is a bit lengthy, so I pasted it here). The problem
> is
> > that the call to channel.__next__ needs to be returned when the
> > callback <IRCClient instance>.privmsg is called, there doesn't seem to be
> a
> > clean option of doing that. I could try to use exceptions or threads, but
> > that seems like the wrong thing here, is there a simpler (blocking?) way
> of
> > using a twisted reactor that would make this possible?
> > Cheers,
> > Andrey
> >
> > On Wed, Apr 21, 2010 at 10:00 PM, César García <celord at gmail.com> wrote:
> >>
> >> +1 Yes, it's great!!
> >>
> >> 2010/4/21 Kevin Horn <kevin.horn at gmail.com>
> >>>
> >>> This blog series is also totally rock-a-licious.
> >>>
> >>> http://krondo.com/blog/?page_id=1327
> >>
> >>
> >> --
> >> http://celord.blogspot.com/
> >>
> >> _______________________________________________
> >> Twisted-Python mailing list
> >> Twisted-Python at twistedmatrix.com
> >> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> >>
> >
> >
> > _______________________________________________
> > Twisted-Python mailing list
> > Twisted-Python at twistedmatrix.com
> > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> >
> >
>
>
>
> --
> Alexandre Quessy
> http://alexandre.quessy.net/
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20100422/a19dae1e/attachment-0001.htm 


More information about the Twisted-Python mailing list