[Pythonmac-SIG] timeout of connection?

Jon Christopher jon.christopher at gmail.com
Tue Dec 15 22:14:24 CET 2009


I'm the developer of PyeTV (http://code.google.com/p/pyetv/), a Front
Row plugin for EyeTV.
I'm experiencing some weird behavior that I'd like to ask the experts
here about.

Essentially all PyeTV does is communicate with EyeTV via appscript and
throw up a few menu options in Front Row.  When the user activates a
menu option for playing a recording, it sends the appropriate
appscript command to EyeTV, something like:

   app("EyeTV").play(id)

where "id" is the stored integer id of the recording to play.   In
general, this works quite well, however, there are certain
curcumstances where it seems that EyeTV never gets the message to play
the recording.

It seems that after Front Row has been idle for quite some time
(perhaps 12 hours or more), and I then attempt to
play a recording, it doesn't seem like the message is sent to EyeTV,
(or perhaps it's just not received; I can't really tell.)  If I then
restart Front Row (and therefore python) and try again, it works 100%
of the time, until it's been idle again for a long time.


I haven't been able to observe anything unusual in the logs, and am
beginning to grasp at straws for an explanation here.  I've stared at
my code and poked and prodded it until my eyes have started bleeding,
all to no avail.

I'm beginning to wonder if the problem might lie in some of the
behind-the-scenes implementation details of appscript.  Perhaps
there's some sort of caching of connections to applications which
times at some point.

In any case, can any of the appscript gurus think of any reason why
the following (pseudo) code should fail:


import appscript
id=app("EyeTV").recordings.get()[0]
app("EyeTV").play(id) # works just fine
app("EyeTV").stop()  #works just fine

go_do_other_stuff_possibly_in_other_threads_for_a_really_long_time()

app("EyeTV").play(id)  # has no effect

Thanks,
Jon


Again, I've researched this quite a bit, and haven't


More information about the Pythonmac-SIG mailing list