From: Tito G. <tit...@gm...> - 2008-04-23 01:29:06
|
Sorry, I didn't understand what you're trying to do... Could you explain? On Tue, Apr 22, 2008 at 8:49 PM, Stephen Cattaneo < ste...@u4...> wrote: > Hi Jan, > Just send the file to stephen ( dot ) cattaneo ( at ) u4eatech ( dot ) > com > Cheers, > > Stephen > > Jan Müller wrote: > > Stephen Cattaneo schrieb: > > > >> Hi Jan, > >> > >> I would gladly use it, as far review goes, I think I'm too new to > >> asterisk for that. > >> > >> Cheers, > >> > >> Stephen > >> > >> Jan Müller wrote: > >> > >> > >>> hi, > >>> > >>> triggered by the recent mailing list activities, i just began to scan > >>> the code of manager.py, and i found this: > >>> > >>> def event_dispatch(self): > >>> """This thread is responsible fore dispatching events""" > >>> > >>> # loop dispatching events > >>> while self._running.isSet(): > >>> # get/wait for an event > >>> ev = self._event_queue.get() > >>> > >>> # if we got None as an event, we are finished > >>> if not ev: > >>> break > >>> > >>> # dispatch our events > >>> > >>> # first build a list of the functions to execute > >>> callbacks = self._event_callbacks.get(ev.name, []) > >>> callbacks.extend(self._event_callbacks.get('*', [])) # <- > !!! > >>> > >>> # now execute the functions > >>> for callback in callbacks: > >>> if callback(ev, self): > >>> break > >>> > >>> what happens here is that the '*' callback handlers are explicitly > added > >>> to the (mutable) list of ev.name handlers. > >>> i haven't tried it but this should lead to problems when unsubscribing > a > >>> '*' handler since it still remains an > >>> ev.name handler. i suggest a list addition to prevent manipulation of > >>> the list of ev.name handlers: > >>> > >>> [...] > >>> # first build a list of the functions to execute > >>> callbacks = self._event_callbacks.get(ev.name, []) + > >>> self._event_callbacks.get('*', []) > >>> [...] > >>> > >>> when i find time (might take a while), i might try and implement some > >>> more of the API in the Manager class for myself. > >>> > >>> for instance, for an event/callback driven command 'Action: sippeers', > i > >>> would implement a method that yields a set of the 'Event: PeerEntry' > >>> Events to spare a user the trouble of (un)subscribing a callback, > making > >>> up ActionIds, etc. > >>> > >>> anyone besides me interested in this, both using and reviewing it? > >>> > >>> regards, Jan > >>> > >>> > ------------------------------------------------------------------------- > >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > >>> Don't miss this year's exciting event. There's still time to save > $100. > >>> Use priority code J8TL2D2. > >>> > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > >>> _______________________________________________ > >>> Pyst-users mailing list > >>> Pys...@li... > >>> https://lists.sourceforge.net/lists/listinfo/pyst-users > >>> > >>> > >>> > >> > ------------------------------------------------------------------------- > >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > >> Don't miss this year's exciting event. There's still time to save $100. > >> Use priority code J8TL2D2. > >> > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > >> _______________________________________________ > >> Pyst-users mailing list > >> Pys...@li... > >> https://lists.sourceforge.net/lists/listinfo/pyst-users > >> > >> > > hi stephen, > > > > there is a first alpha version ready. beware, it's not tested at all. if > > you wish to use or test it, please give me your mail address (or is it > > ok to paste a messy 1000-line code here?). > > > > to whom else it may concern: > > > > 1. i implemented a metamethod which takes the api help and generates > > methods for all simple (only response, no events) api actions from it: > > > > <code>[..., > > ('mailbox_status', 'MailboxStatus', """Action: MailboxStatus > > Synopsis: Check Mailbox > > Privilege: call,all > > Description: Checks a voicemail account for status. > > Variables: (Names marked with * are required) > > *mailbox: Full mailbox ID <mailbox>@<vm-context> > > actionid: Optional ActionID for message matching > > Returns number of messages. > > Message: Mailbox Status > > Mailbox: <mailboxid> > > Waiting: <count> > > """, ["mailbox", "actionid=None"]), > > ...] > > </code) > > yields > > <code> > > def mailbox_status(self, mailbox, actionid=None): > > [...] > > return self.send_action({'Action': 'MailboxStatus', 'mailbox': > > mailbox, 'actionid': actionid} # actionid only included if not None > > </code> > > so, extending it for other simple actions (e.g., "Zap..." which I did > > not implement because I have no zap module) boils down to adding some > > lines to a table. If the API doc stirngs were a little more > > standardized, one could even fully automatically parse the > documentation. > > > > 2. í also implemented event callback handlers for 'SipPeers' and > > 'DBGet'. the corresponding methods yield a list(Event) (method > > sip_peers) and an Event (method db_get). > > > > regards j. > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Pyst-users mailing list > > Pys...@li... > > https://lists.sourceforge.net/lists/listinfo/pyst-users > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Pyst-users mailing list > Pys...@li... > https://lists.sourceforge.net/lists/listinfo/pyst-users > -- Linux User #387870 ____ _/_õ|__| º[ .-.___.-._| . . . . _(o).__(o).:_____ |