Jason Tackaberry wrote:
> On Sun, 2008-02-17 at 12:35 +0100, Duncan Webb wrote:
>> kaa.notifier.async.AsyncException: Exception raised asynchronously; 
>> traceback follows:
>>    File "../base/build/lib.linux-i686-2.4/kaa/notifier/coroutine.py", 
>> line 203, in _step
>>    File "/usr/lib/python2.4/site-packages/freevo/tv/epg_types.py", line 
>> 121, in __cmp__
>>      return self.title != other.title or \
>> AttributeError: 'object' object has no attribute 'title'
>>
>>
>> Now I see where the error comes from but not why the __cmp__() is being 
>> called.
> 
> The coroutine wrapper must check the result of the coroutine to see if
> it's kaa.NotFinished or not.  If it is, it will schedule the coroutine
> (or rather its underlying generator) to be called again.  If not, it
> finishes the InProgress it returned with the value.
> 
> Here is the relevant code from coroutine.py:
> 
>                 result = _process(self._coroutine, self._async)
>                 if isinstance(result, InProgress):
>                     self._async = result
>                     if not result.is_finished():
>                         # continue when InProgress is done
>                         self._async = result
>                         result.connect_both(self._continue, self._continue)
>                         return False
>                 elif result == NotFinished:
>                     # schedule next iteration with the timer
>                     return True
>                 else:
>                     # coroutine is done
>                     break
> 
> So the result your function is returning is being compared with
> kaa.NotFinished, hence the call to __cmp__.

So this means that I should keep yielding until inprogress.finish is not
True?

Thanks
Duncan

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to