On 2/22/06, Matt Helm <code.name.eric@gmail.com> wrote:
On 2/21/06, Graeme Glass wrote:
> Would you mind posting some sample code, for refrence?
> Many thanks.

class Resource(resource.Resource):

   def render(self, request):

       def cheeto(r):
           request.write(r.__str__())
           request.finish()

       def cherr(r):
           request.write("Bang!")
           request.write(str(r))
           request.finish()

       d_cheeto = threads.deferToThread(Template, file="alf.tmpl", searchList =
slist)
       d_cheeto.addCallback(cheeto)
       d_cheeto.addErrback(cherr)

       return server.NOT_DONE_YET

resource = Resource()

_______________________________________________
Twisted-web mailing list
Twisted-web@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
webexp.py
--------------------------------------------
from twisted.application import internet, service
from twisted.web import static, server, script
import CheetahMapper

root = static.File("./")
root.indexNames=['index.cht']
root.ignoreExt(".cht")
root.processors = {'.cht': CheetahMapper.CheetahResource}
application = service.Application('web')
sc = service.IServiceCollection(application)
site = server.Site(root)
i = internet.TCPServer(8888, site)
i.setServiceParent(sc)

CheetahMapper.py
------------------------------------------------
from twisted.web import resource, server
from Cheetah.Template import Template


class CheetahResource(resource.Resource):
    isLeaf = 1

    def __init__(self, filename, registry):
        self.filename = filename
        self.registry = registry

    def render(self, request):
        tmplt = Template.compile(file=self.filename)
        inst=tmplt()
        request.write(str(inst))
        request.finish()
        return server.NOT_DONE_YET

time.cht
------------------------------------------------------
#import time
<html>
<head>
<title>Time Example</title>
</head>
<body>
It is $time.strftime("%I:%M %p").
<br>
Date is $time.strftime("%A, %B %D, %Y").
</body>
</html>
-----------------------------------------------------------------------
Not the best code in the world, but it has been useful for me for just throwing together quick pages and experimenting.

ToddB