Jason Tackaberry wrote:
> On Thu, 2008-08-07 at 04:53 +0200, Jason Tackaberry wrote:
>> Log:
>> New classes InProgressAny and InProgressAll (should hopefully deprecate
>> InProgressSignals and InProgressList respectively); added properties result,
>> finished, failed to InProgress; added methods subset(), any() (creates
>> InProgressAny from signals), all() (creates InProgressAll from signals).
>
>
> As I was reworking the state machine stuff for kaa.popcorn, I came up
> with a slightly new API for InProgressSignals and InProgressList that I
> think are named a lot better and make a lot more sense.
>
> In order to keep the convenience of InProgressSignals, I added some more
> functionality to the Signals class to work with InProgressAny/All and
> allows a nice chaining approach (reminds one a bit of jquery).
>
> Here are some examples to demonstrate the new API:
>
>         # Old
>         idx, result = yield kaa.InProgressSignals(self.signals, 'play', 
> 'error')
>         
>         # New
>         idx, result = yield self.signals.subset('play', 'error').any()
>         
>         # Old
>         play_ip = kaa.InProgressCallback(self.signals['play'])
>         ip = kaa.InProgressList(kaa.InProgressCallback(self.signals['open']), 
> play_ip)
>         yield ip
>         print play_ip.result
>         
>         # New
>         ip = yield self.signals.subset('open', 'play').all()
>         print ip[1].result
>
> dischi, let me know what you think.

I like it.

> I would also like to change the explicit support for Signal in
> InProgressCallback, which I, as you know, never liked.

I never liked the fact that you import async.py in the function :)

> kaa.InProgressCallback(signal) can be replaced with signal.async().
> (We can negotiate the name if you like.)

First of all, I have to check a lot of code where it could be a
problem. So you should add a deprecated warning first. Besides that, I
don't like async. Maybe wait?


Dischi

-- 
As far as we know, our computer has never had an undetected error.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to