[Twisted-Python] LivePage patch? - was (LivePage CACHING Problem)
Justin Johnson
justinjohnson at fastmail.fm
Mon Nov 17 12:19:29 MST 2003
Working with fzZzy on #divmod, I made the following change to my local
twisted/web/woven/flashconduit.py to make LivePage work for me. I'm
using guard sessions (which appear to not be supported by the current
code) so in my case the sessions are stored on the SessionWrapper. I
really don't know squat about the way the code should be, so hopefully
someone else can take a look at this and apply a real patch. I'd gladly
do the real thing, but it would take me a *lot* longer to do. :-)
Thanks.
-Justin
--- flashconduit.py.orig 2003-11-17 13:18:37.000000000 -0600
+++ flashconduit.py 2003-11-17 13:18:43.000000000 -0600
@@ -16,7 +16,8 @@
#self.lp.unhookOutputConduit()
def lineReceived(self, line):
- session = self.factory.site.getSession(line)
+ #session = self.factory.site.getSession(line)
+ session = self.factory.site.resource.sessions[line]
self.lp = lp = session.getComponent(interfaces.IWovenLivePage)
lp.hookupOutputConduit(self)
----- Original message -----
From: "Justin Johnson" <justinjohnson at fastmail.fm>
To: "Twisted-Python" <twisted-python at twistedmatrix.com>
Date: Thu, 13 Nov 2003 11:19:09 -0600
Subject: Re: [Twisted-Python] LivePage CACHING Problem
I found the following post that looks similar to my problem.
http://twistedmatrix.com/pipermail/twisted-python/2003-May/004170.html
But since I have my own tap, I copied the code from web/tap.py into my
code to start up the FlashConduitFactory. It starts up, but I get the
following errors. Is this a bug? Any ideas what I'm doing wrong?
2003/11/13 11:08 CST [twisted.web.woven.flashconduit.FlashConduitFactory]
connection with flash movie opened
2003/11/13 11:08 CST [FlashConduit,3,xxx.xxx.xxx.xxx] Traceback (most
recent call last):
File
"/usr/local/lib/python2.3/site-packages/twisted/internet/default.py",
line 501, in doSelect
_logrun(selectable, _drdw, selectable, method, dict)
File
"/usr/local/lib/python2.3/site-packages/twisted/python/log.py",
line 65, in callWithLogger
callWithContext({"system": lp}, func, *args, **kw)
File
"/usr/local/lib/python2.3/site-packages/twisted/python/log.py",
line 52, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File
"/usr/local/lib/python2.3/site-packages/twisted/python/context.py",
line 32, in callWithContext
return func(*args,**kw)
--- <exception caught here> ---
File
"/usr/local/lib/python2.3/site-packages/twisted/internet/default.py",
line 510, in _doReadOrWrite
why = getattr(selectable, method)()
File
"/usr/local/lib/python2.3/site-packages/twisted/internet/tcp.py",
line 250, in doRead
return self.protocol.dataReceived(data)
File
"/usr/local/lib/python2.3/site-packages/twisted/protocols/basic.py",
line 223, in dataReceived
why = self.lineReceived(line)
File
"/usr/local/lib/python2.3/site-packages/twisted/web/woven/flashconduit.py",
line 19, in lineReceived
session = self.factory.site.getSession(line)
File
"/usr/local/lib/python2.3/site-packages/twisted/web/server.py",
line 470, in getSession
return self.sessions[uid]
exceptions.KeyError: 'd01be6fe334cded345c0b029e29df7ac'
2003/11/13 11:08 CST [FlashConduit,3,xxx.xxx.xxx.xxx] connection lost
On Thu, 13 Nov 2003 10:38:59 -0600, "Justin Johnson"
<justinjohnson at fastmail.fm> said:
> Hi,
>
> I am currently trying to use LivePage to update the cells of an html
> table with results from processes initiated in various PB services. The
> client intiates requests in the services and those services call back
> into the client's (a pb.Referenceable) remote_updateStatus method to
> update the table which displays the results. I have test code that
> simulates this and everything works fine. Javascript is sent to the
> browser to update the cells of the table. Works really slick. However,
> now that I tried to hook it up to PB, the LivePage javascript sending
> part isn't working. When I make the page.sendScript(script) call I get
> the following in the log.
>
> 2003/11/13 10:25 CST [Broker,client] Sending javascript to page
> <twisted.web.woven.utils.WovenLivePage instance at 0x4089944c>
> 2003/11/13 10:25 CST [Broker,client] CACHING
> [<twisted.web.woven.utils.Script instance at 0x4089906c>]
>
> All future sendScript calls append the script to the cache. Everything
> else is working appropriately, and all code is executing as I'd expect,
> except that the javascript doesn't send properly. Is there something in
> particular I should be looking for here? I don't see what I'm doing
> different, but since LivePage is quite magical to me I'm not sure where
> to look.
>
> On a slightly different note, is there LivePage-ish support in nevow, and
> do you recommend moving to that yet?
>
> Thanks.
> -Justin
>
> _______________________________________________
> 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
More information about the Twisted-Python
mailing list