<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jkx@home &#187; zpt</title>
	<atom:link href="http://www.larsen-b.com/tags/zpt/feed" rel="self" type="application/rss+xml" />
	<link>http://www.larsen-b.com</link>
	<description>Titanium Exposé</description>
	<lastBuildDate>Tue, 31 Jan 2012 23:53:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language></language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Webware at the Washing Machine Service</title>
		<link>http://www.larsen-b.com/Article/108.html</link>
		<comments>http://www.larsen-b.com/Article/108.html#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Webware]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[zpt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Webware is one of my favorite webapp. Simply because i understand how it works. There is no magic in.. just a standard Servlet way of think.
But on the other side, i really think some part of webware should be left out. Look at the standard webware packages:

CGIWrapper
WebKit
WebUtils
MiscUtils
COMKit
MiddleKit
PSP
TaskKit
UserKit

Only CGIWrapper / WebKit / WebUtils are used in [...]]]></description>
			<content:encoded><![CDATA[<p>Webware is one of my favorite webapp. Simply because i understand how it works. There is no magic in.. just a standard Servlet way of think.</p>
<p>But on the other side, i really think some part of webware should be left out. Look at the standard webware packages:</p>
<ul class="simple">
<li>CGIWrapper</li>
<li>WebKit</li>
<li>WebUtils</li>
<li>MiscUtils</li>
<li>COMKit</li>
<li>MiddleKit</li>
<li>PSP</li>
<li>TaskKit</li>
<li>UserKit</li>
</ul>
<p>Only CGIWrapper / WebKit / WebUtils are used in Webware core. (+ TaskKit) All other stuff are not webware centric, even if they are usually working only by webware developpers:<br />
- COMKit is win32 COM object related (nothing to do w/ webware core)<br />
- MiddleKit is a DB abstraction layer<br />
- PSP is a template language<br />
- UserKit is a user framework ..( someone ever used it ???)</p>
<p>I really think we should provide only a simple package w/ webware core, and find a way to install third parties code as &#8216;Products&#8217;. This is definitly the main feature of Zope.</p>
<p>The recent <a class="reference" href="href=http://sourceforge.net/mailarchive/forum.php?thread_id=4184139&amp;forum_id=3505&gt;">post</a> of Ian on the webware-discuss mailing list show that we shall write webware component like Wiki .. or AuthModule .. and provide them to the community.</p>
<p>I worked on Zope for about 2 years.. and right now when i want to build a simple website for the lab. Webware never come to my mind simply because it enforce me to rewrite the wheel for everything. In common web project we need some core components like auth, or photo gallery .. things that are really simple and provided w/ simple Zope Products. but for webware we only provide some _unusefull_ / _unmaintained_ Kit.</p>
<p>This is not a contestation post! but a open letter to the webware community.</p>
<p>The current webware package try to enforce developper to use some tools (like PSP / MiddleKit) but this is the wrong way. I never used PSP (i hate this syntax).. and MiddleKit has serious competitor, right now. I usually use SQLObject and ZPTPage. But there is no place on the web where a newbie can find that you can write ZPT in webware .. Webware really need a clean way to build Products and a website that present all this stuff to users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsen-b.com/Article/108.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SQLObject and ZPT</title>
		<link>http://www.larsen-b.com/Article/83.html</link>
		<comments>http://www.larsen-b.com/Article/83.html#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[cheetah]]></category>
		<category><![CDATA[sqlobject]]></category>
		<category><![CDATA[Webware]]></category>
		<category><![CDATA[Zope]]></category>
		<category><![CDATA[zpt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[After looking at several way to build custom webapps in python, i tested several things :

Zope alone
Zope + CMF
Plone
Webware + Cheetah or PSP
Webware + Modeling + ZPT ..

And my conclusions right now is: SQLObject is really a kool SQL Api since you can use it very easily. For the template i really think that ZPT [...]]]></description>
			<content:encoded><![CDATA[<p>After looking at several way to build custom webapps in python, i tested several things :</p>
<ul class="simple">
<li>Zope alone</li>
<li>Zope + CMF</li>
<li>Plone</li>
<li>Webware + Cheetah or PSP</li>
<li>Webware + Modeling + ZPT ..</li>
</ul>
<p>And my conclusions right now is: SQLObject is really a kool SQL Api since you can use it very easily. For the template i really think that ZPT is the best one. Despite XML parsing is really slow, and ZPT performance isn&#8217;t really good, you can edit the template without too much pain.</p>
<p>Another great thing, is that i can use this tools in Webware (of course) but in a simple python (mod_python for example)  CGI. And SQLObject really feat nicely w/ webware, because it&#8217;s thread safe. (I discover severals troubles in Modeling w/ thread)</p>
<p>The next step is to find a good way to build &#8217;slots&#8217;, to have a cross site layout. ZPTPage doesn&#8217;t support all METAL tags (macros..) so this isn&#8217;t done by default .. and calling a lot of &#8217;structure&#8217; include is a bad way because this will call the &#8217;slot&#8217;  rendering too much times.</p>
<p>The main key is : Keep it simple.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsen-b.com/Article/83.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iKaaro</title>
		<link>http://www.larsen-b.com/Article/45.html</link>
		<comments>http://www.larsen-b.com/Article/45.html#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zope]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[zpt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I&#8217; just discover ikaaro (http://www.ikaaro.org) last night. After a couple of ./configure; make install it seems to work pretty fine. I really need to look at this closer since it use a custom TAL like system that seems to be really faster than original TAL.
Some bugs still remain, i was unable to do cut/paste and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217; just discover ikaaro (<a class="reference" href="http://www.ikaaro.org">http://www.ikaaro.org</a>) last night. After a couple of ./configure; make install it seems to work pretty fine. I really need to look at this closer since it use a custom TAL like system that seems to be really faster than original TAL.</p>
<p>Some bugs still remain, i was unable to do cut/paste and there is a bug in guess_contenttype too, but not really a big deal i think.</p>
<p>After looking this a night, the system is really light ( don&#8217;t use a couple of CMF products or other things like DC workflow), si it have some limitation but it should be enought to do a good bloging system ( i&#8217;m still need to give up about this MT ). but it don&#8217;t use reST and this is a bad news.</p>
<p>Another thing that i found usefull is that it use EPoz for html editing and this is pretty kool .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsen-b.com/Article/45.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AutoMatic cache for Modeling FrameWork in WebWare</title>
		<link>http://www.larsen-b.com/Article/10.html</link>
		<comments>http://www.larsen-b.com/Article/10.html#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Webware]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[zpt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This is my first hack over ZPTPage and Modeling to enable regerating of ZPTPage only when Modeling objects changed .. check out class A: (which is a sample fake Modeling Object)
import os,time

from ZPTPage import ZPTPage

class A:
    def __init__(self):
        self.a = 'B' * 50
   [...]]]></description>
			<content:encoded><![CDATA[<p>This is my first hack over ZPTPage and Modeling to enable regerating of ZPTPage only when Modeling objects changed .. check out class A: (which is a sample fake Modeling Object)</p>
<pre><strong>import</strong> <span style="color: #2040a0;">os</span>,<span style="color: #2040a0;">time</span>

<strong>from</strong> <span style="color: #2040a0;">ZPTPage</span> <strong>import</strong> <span style="color: #2040a0;">ZPTPage</span>

<strong>class</strong> <span style="color: #2040a0;">A</span><span style="color: #4444ff;">:</span>
<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> __init__</span><span style="color: #2040a0;">(self)</span>:
</strong>        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">a</span> <span style="color: #4444ff;">=</span> <span style="color: #008000;">'B'</span> <span style="color: #4444ff;">*</span> <span style="color: #ff0000;">50</span>
        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">willChange</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> getA</span><span style="color: #2040a0;">(self)</span>:
</strong>        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">willRead</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>
        <strong>return</strong> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">a</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> setA</span><span style="color: #2040a0;">(self,value)</span>:
</strong>        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">a</span><span style="color: #4444ff;">=</span><span style="color: #2040a0;">value</span>
        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">willChange</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> willRead</span><span style="color: #2040a0;">(self)</span>:
</strong>        <span style="color: #444444;">#print "Read %s" % self</span>
        <strong>pass</strong>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> willChange</span><span style="color: #2040a0;">(self)</span>:
</strong>        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">lastChange</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">time</span>.<span style="color: #2040a0;">time</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>

<strong>class</strong> <span style="color: #2040a0;">HereProxy</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">dict</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">:</span>
<strong>    <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> __init__</span><span style="color: #2040a0;">(self,orig)</span>:
</strong>        <strong>print</strong> <span style="color: #008000;">"New Here"</span>
        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">orig</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">orig</span>

<strong>    <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> __getitem__</span><span style="color: #2040a0;">(self,key)</span>:
</strong>         <span style="color: #2040a0;">result</span><span style="color: #4444ff;">=</span><span style="color: #2040a0;">getattr</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">orig</span>,<span style="color: #2040a0;">key</span><span style="color: #4444ff;">)</span>
         <strong>print</strong> <span style="color: #008000;">"*** %-10s : %s "</span> <span style="color: #4444ff;">%</span> <span style="color: #4444ff;">(</span> <span style="color: #2040a0;">key</span>,<span style="color: #2040a0;">result</span><span style="color: #4444ff;">)</span>
         <span style="color: #2040a0;">cache</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">orig</span>.<span style="color: #2040a0;">application</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">cache</span><span style="color: #4444ff;">[</span><span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">orig</span>.<span style="color: #2040a0;">hashCache</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">]</span>

         <strong>if</strong> <span style="color: #2040a0;">result</span> <strong>not</strong> <strong>in</strong> <span style="color: #2040a0;">cache</span><span style="color: #4444ff;">:</span>
             <span style="color: #2040a0;">cache</span>.<span style="color: #2040a0;">update</span><span style="color: #4444ff;">(</span> <span style="color: #4444ff;"><strong>{</strong></span><span style="color: #2040a0;">result</span><span style="color: #4444ff;">:</span><span style="color: #2040a0;">result</span>.<span style="color: #2040a0;">lastChange</span> <span style="color: #4444ff;"><strong>}</strong></span><span style="color: #4444ff;">)</span>
         <strong>return</strong> <span style="color: #2040a0;">result</span>

<strong>class</strong> <span style="color: #2040a0;">Main</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">ZPTPage</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">:</span>
<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> __init__</span><span style="color: #2040a0;">(self)</span>:
</strong>        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">a</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">A</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>
        <span style="color: #2040a0;">ZPTPage</span>.<span style="color: #2040a0;">__init__</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">self</span><span style="color: #4444ff;">)</span>
        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">here</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">HereProxy</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">self</span><span style="color: #4444ff;">)</span>
        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">validCache</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">False</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> writeHTML</span><span style="color: #2040a0;">(self)</span>:
</strong>        <strong>if</strong> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">request</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">hasField</span><span style="color: #4444ff;">(</span><span style="color: #008000;">'A'</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">:</span>
            <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">a</span>.<span style="color: #2040a0;">setA</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">request</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">value</span><span style="color: #4444ff;">(</span><span style="color: #008000;">'A'</span><span style="color: #4444ff;">)</span> <span style="color: #4444ff;">)</span>

        <span style="color: #2040a0;">cachedFileName</span><span style="color: #4444ff;">=</span><span style="color: #2040a0;">os</span>.<span style="color: #2040a0;">path</span>.<span style="color: #2040a0;">join</span><span style="color: #4444ff;">(</span><span style="color: #008000;">'/tmp/w/'</span>,<span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">hashCache</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span> <span style="color: #4444ff;">+</span><span style="color: #008000;">'.html'</span><span style="color: #4444ff;">)</span>
        <strong>try</strong><span style="color: #4444ff;">:</span>
            <span style="color: #2040a0;">cache</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">application</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">cache</span><span style="color: #4444ff;">[</span><span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">hashCache</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">]</span>
        <strong>except</strong> <span style="color: #2040a0;">KeyError</span><span style="color: #4444ff;">:</span>
            <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">application</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">cache</span><span style="color: #4444ff;">[</span><span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">hashCache</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">]</span> <span style="color: #4444ff;">=</span> <span style="color: #4444ff;"><strong>{</strong></span><span style="color: #4444ff;"><strong>}</strong></span>
            <span style="color: #2040a0;">cache</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">application</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">cache</span><span style="color: #4444ff;">[</span><span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">hashCache</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">]</span>

        <span style="color: #2040a0;">needUpdate</span> <span style="color: #4444ff;">=</span> <span style="color: #ff0000;">0</span>

        <span style="color: #444444;">#import pdb;pdb.set_trace()</span>
        <strong>for</strong> <span style="color: #2040a0;">obj</span> <strong>in</strong> <span style="color: #2040a0;">cache</span>.<span style="color: #2040a0;">keys</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span><span style="color: #4444ff;">:</span>
            <strong>try</strong><span style="color: #4444ff;">:</span>
                <strong>print</strong> <span style="color: #2040a0;">obj</span>.<span style="color: #2040a0;">lastChange</span>
                <strong>if</strong> <span style="color: #2040a0;">obj</span>.<span style="color: #2040a0;">lastChange</span> <span style="color: #4444ff;">!</span><span style="color: #4444ff;">=</span>  <span style="color: #2040a0;">cache</span><span style="color: #4444ff;">[</span><span style="color: #2040a0;">obj</span><span style="color: #4444ff;">]</span><span style="color: #4444ff;">:</span>
                    <span style="color: #2040a0;">needUpdate</span> <span style="color: #4444ff;">=</span> <span style="color: #ff0000;">1</span>
                    <strong>break</strong>
            <strong>except</strong> <span style="color: #2040a0;">AttributeError</span><span style="color: #4444ff;">:</span>
                <span style="color: #2040a0;">needUpdate</span> <span style="color: #4444ff;">=</span> <span style="color: #ff0000;">1</span>
                <strong>break</strong>

        <strong>if</strong> <span style="color: #2040a0;">needUpdate</span> <span style="color: #4444ff;">=</span><span style="color: #4444ff;">=</span> <span style="color: #ff0000;">0</span><span style="color: #4444ff;">:</span>
            <strong>print</strong> <span style="color: #008000;">"*** Serving cache %s ***"</span>  <span style="color: #4444ff;">%</span> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">hashCache</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>
            <strong>try</strong><span style="color: #4444ff;">:</span>
                <span style="color: #2040a0;">data</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">open</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">cachedFileName</span>,<span style="color: #008000;">'r'</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">read</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>
            <strong>except</strong> <span style="color: #2040a0;">IOError</span><span style="color: #4444ff;">:</span>
                <span style="color: #2040a0;">needUpdate</span> <span style="color: #4444ff;">=</span> <span style="color: #ff0000;">1</span>

        <strong>if</strong> <span style="color: #2040a0;">needUpdate</span><span style="color: #4444ff;">:</span>
            <strong>print</strong> <span style="color: #008000;">"*** Regerating %s ***"</span>  <span style="color: #4444ff;">%</span> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">hashCache</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>
            <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">buildContext</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>
            <span style="color: #2040a0;">data</span> <span style="color: #4444ff;">=</span> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">template</span>.<span style="color: #2040a0;">render</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>
            <span style="color: #2040a0;">open</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">cachedFileName</span>,<span style="color: #008000;">'w'</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">write</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">data</span><span style="color: #4444ff;">)</span>
        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">response</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">setHeader</span><span style="color: #4444ff;">(</span><span style="color: #008000;">'Content-type'</span>, <span style="color: #008000;">'text/html; charset=UTF-8'</span><span style="color: #4444ff;">)</span>
        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">writeln</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">data</span><span style="color: #4444ff;">)</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> buildContext</span><span style="color: #2040a0;">(self)</span>:
</strong>        <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">updateContext</span><span style="color: #4444ff;">(</span><span style="color: #008000;">'text'</span>,<span style="color: #008000;">'Toto'</span><span style="color: #4444ff;">)</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> getTime</span><span style="color: #2040a0;">(self)</span>:
</strong>        <strong>import</strong> <span style="color: #2040a0;">time</span>
        <strong>return</strong> <span style="color: #2040a0;">time</span>.<span style="color: #2040a0;">time</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> getHere</span><span style="color: #2040a0;">(self)</span>:
</strong>        <span style="color: #444444;">#return {'a':A()}</span>
        <strong>return</strong> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">here</span>

<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> sleep</span><span style="color: #2040a0;">(self,context)</span>:
</strong>        <strong>print</strong> <span style="color: #2040a0;">self</span>.<span style="color: #2040a0;">application</span><span style="color: #4444ff;">(</span><span style="color: #4444ff;">)</span>.<span style="color: #2040a0;">cache</span>
        <span style="color: #2040a0;">ZPTPage</span>.<span style="color: #2040a0;">sleep</span><span style="color: #4444ff;">(</span><span style="color: #2040a0;">self</span>,<span style="color: #2040a0;">context</span><span style="color: #4444ff;">)</span>

    <span style="color: #444444;">### cache ###</span>
<strong>   <span style="color: #ff0000;"> def</span><span style="color: #ff0000;"> hashCache</span><span style="color: #2040a0;">(self)</span>:
</strong>        <strong>return</strong> <span style="color: #008000;">"MainTemplate"</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.larsen-b.com/Article/10.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
