[Checkins] SVN: zope3org/trunk/src/zorg/live/ Updated tests to new
simplejson version
Uwe Oestermeier
u.oestermeier at iwm-kmrc.de
Mon May 7 04:11:08 EDT 2007
Log message for revision 75606:
Updated tests to new simplejson version
Changed:
U zope3org/trunk/src/zorg/live/README.txt
U zope3org/trunk/src/zorg/live/configure.zcml
U zope3org/trunk/src/zorg/live/demo/upload/README.txt
U zope3org/trunk/src/zorg/live/server.py
-=-
Modified: zope3org/trunk/src/zorg/live/README.txt
===================================================================
--- zope3org/trunk/src/zorg/live/README.txt 2007-05-07 07:43:24 UTC (rev 75605)
+++ zope3org/trunk/src/zorg/live/README.txt 2007-05-07 08:11:06 UTC (rev 75606)
@@ -207,7 +207,8 @@
>>> event
<zorg.live.page.event.Append object at ...>
>>> event.toJSON()
- '{..."html": "<p>ABC</p>", "where": null, "id": "id", "recipients": "all", "name": "append"}'
+ '{"html": "<p>ABC<\\/p>", "where": null, "id": "id", "recipients": "all", "name": "append"}'
+
The set of registered event types can be easily extended by registering a
new IClientEventFactory. Most of the time this will look as follows :
@@ -249,7 +250,7 @@
After that the next call of the output returns JSON event :
>>> page1.output(uuid='uuid1')
- '{"html": "<p>42</p>", "where": null, "id": "target", "recipients": "all", "name": "append"}'
+ '{"html": "<p>42<\\/p>", "where": null, "id": "target", "recipients": "all", "name": "append"}'
And this again and again if we provide new input :
@@ -259,7 +260,8 @@
''
>>> page1.output('uuid1')
- '{"html": "<p>43</p>", "where": null, "id": "target", "recipients": "all", "name": "append"}'
+ '{"html": "<p>43<\\/p>", "where": null, "id": "target", "recipients": "all", "name": "append"}'
+
Modified: zope3org/trunk/src/zorg/live/configure.zcml
===================================================================
--- zope3org/trunk/src/zorg/live/configure.zcml 2007-05-07 07:43:24 UTC (rev 75605)
+++ zope3org/trunk/src/zorg/live/configure.zcml 2007-05-07 08:11:06 UTC (rev 75606)
@@ -5,7 +5,7 @@
<include package="zorg.live.page" />
<include package="zorg.live.demo.comment" />
<include package="zorg.live.demo.upload" />
-
+
<utility
name="LiveServerHTTP"
component="zorg.live.server.liveServerType"
Modified: zope3org/trunk/src/zorg/live/demo/upload/README.txt
===================================================================
--- zope3org/trunk/src/zorg/live/demo/upload/README.txt 2007-05-07 07:43:24 UTC (rev 75605)
+++ zope3org/trunk/src/zorg/live/demo/upload/README.txt 2007-05-07 08:11:06 UTC (rev 75606)
@@ -74,44 +74,40 @@
>>> from zorg.live.server import LiveInputStream
>>> stream = LiveInputStream(dummy, client, content_length=100,
... type="progress")
+
+We need an event logger for progress events:
+
+ >>> def printEvents():
+ ... event = client.nextEvent()
+ ... while event:
+ ... if event.name == "progress" :
+ ... event.pprint()
+ ... event = client.nextEvent()
+
+Now we simulate repeated write calls:
+
>>> for i in range(1, 10) :
... time.sleep(0.1)
... stream.write("Some Data")
- addEvent 18
- added
- addEvent 27
- added
- addEvent 36
- added
- addEvent 45
- added
- addEvent 54
- added
- addEvent 63
- added
- addEvent 72
- added
- addEvent 81
- added
-
-
- >>> event = client.nextEvent()
- >>> while event :
- ... if event.name == "progress" :
- ... event.pprint()
- ... event = client.nextEvent()
+ ... printEvents()
name : 'progress'
percent : 18
- ...
+ recipients : ['zorg.member.uwe']
+ where : None
name : 'progress'
- percent : 27
- ...
- name : 'progress'
percent : 36
- ...
+ recipients : ['zorg.member.uwe']
+ where : None
+ name : 'progress'
+ percent : 54
+ recipients : ['zorg.member.uwe']
+ where : None
+ name : 'progress'
+ percent : 72
+ recipients : ['zorg.member.uwe']
+ where : None
Clean up:
>>> zope.event.subscribers.remove(livePageSubscriber)
>>> zope.event.subscribers.remove(printEvent)
- >>> zope.event.subscribers = []
\ No newline at end of file
Modified: zope3org/trunk/src/zorg/live/server.py
===================================================================
--- zope3org/trunk/src/zorg/live/server.py 2007-05-07 07:43:24 UTC (rev 75605)
+++ zope3org/trunk/src/zorg/live/server.py 2007-05-07 08:11:06 UTC (rev 75606)
@@ -350,17 +350,20 @@
if not self.exceeded :
self.stream.write(data)
- if self.client :
+ if self.client is not None:
if self.type == "progress" :
if time.time() > (self.reported + self.interval) :
ratio = float(self.received_bytes) / float(self.expected_length)
percent = int(ratio * 100.0)
- event = ProgressEvent(percent=percent)
+ who = self.client.principal.id
+ event = ProgressEvent(percent=percent, recipients=[who])
manager = zapi.getUtility(ILivePageManager)
manager.addEvent(event)
+ self.reported = time.time()
+
elif self.type == "input" :
if self.received_bytes > securityInputLimit :
self.exceeded = True
More information about the Checkins
mailing list