# HG changeset patch # User paulb # Date 1114383456 0 # Node ID de8f42b6c3cc562e78d04bb6ccd88ebb356ba582 # Parent 064f02540579a5fc8a33fee114ebb4b2f5a7ffe2 [project @ 2005-04-24 22:57:24 by paulb] Added an example resembling that in the documentation. diff -r 064f02540579 -r de8f42b6c3cc examples/BaseHTTPRequestHandler/VerySimpleApp.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/BaseHTTPRequestHandler/VerySimpleApp.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +from WebStack.Adapters.BaseHTTPRequestHandler import deploy +from VerySimple import VerySimpleResource + +# Special magic incantation. + +print "Serving..." +deploy(VerySimpleResource()) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/CGI/VerySimpleHandler.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CGI/VerySimpleHandler.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +# NOTE: Path manipulation requires manual customisation. + +import sys +sys.path.append("/home/paulb/Software/Python/WebStack") +sys.path.append("/home/paulb/Software/Python/WebStack/examples/Common") + +from WebStack.Adapters.CGI import deploy +from VerySimple import VerySimpleResource + +deploy(VerySimpleResource()) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/Common/VerySimple/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/Common/VerySimple/__init__.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/env python + +"A very simple application for test purposes." + +class VerySimpleResource: + + "A very simple resource." + + def respond(self, trans): + out = trans.get_response_stream() + print >>out, "Hello world." + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/JavaServlet/VerySimpleApp.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/JavaServlet/VerySimpleApp.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +from WebStack.Adapters import JavaServlet +from VerySimple import VerySimpleResource +from javax.servlet.http import HttpServlet + +class VerySimpleApp(HttpServlet): + def __init__(self): + HttpServlet.__init__(self) + self.dispatcher = JavaServlet.Dispatcher(VerySimpleResource()) + + def service(self, request, response): + self.dispatcher.service(request, response) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/ModPython/VerySimpleApp/VerySimpleHandler.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/ModPython/VerySimpleApp/VerySimpleHandler.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,20 @@ +#!/usr/bin/env python + +# NOTE: Path manipulation requires manual customisation. + +import sys +sys.path.append("/home/paulb/Software/Python/WebStack") +sys.path.append("/home/paulb/Software/Python/WebStack/examples/Common") + +from WebStack.Adapters import ModPython +from VerySimple import VerySimpleResource + +# NOTE: Not sure if the resource should be maintained in a resource pool. + +resource = VerySimpleResource() + +def handler(req): + global resource + return ModPython.respond(req, resource, handle_errors=0) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/Twisted/VerySimpleApp.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/Twisted/VerySimpleApp.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,9 @@ +#!/usr/bin/env python + +from WebStack.Adapters.Twisted import deploy +from VerySimple import VerySimpleResource + +print "Serving..." +deploy(VerySimpleResource(), handle_errors=0) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/WSGI/VerySimpleHandler.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/WSGI/VerySimpleHandler.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +# NOTE: Path manipulation requires manual customisation. + +import sys +sys.path.append("/home/paulb/Software/Python/WebStack") +sys.path.append("/home/paulb/Software/Python/WebStack/examples/Common") + +from WebStack.Adapters.WSGI import deploy +from VerySimple import VerySimpleResource + +deploy(VerySimpleResource()) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/Webware/VerySimpleApp/Properties.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/Webware/VerySimpleApp/Properties.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +name = "VerySimple" + +version = (0, 1, 0) + +status = "alpha" + +releaseDate = "?" + +requiredPyVersion = (2, 2, 0) + +synopsis = "A very simple WebStack application." + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/Webware/VerySimpleApp/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/Webware/VerySimpleApp/__init__.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +""" +Webware plug-in code. +""" + +__version__ = "0.1" + +from WebStack.Adapters.Webware import WebStackServletFactory +from VerySimple import VerySimpleResource + +# NOTE: Initialising a shared resource. + +resource = VerySimpleResource() + +def InstallInWebKit(appServer): + global resource + app = appServer.application() + + # NOTE: Allow .verysimple files only. Really, we'd like any kind of file, but + # NOTE: that would severely undermine the servlet factory concept. + + app.addServletFactory(WebStackServletFactory(app, resource, [".verysimple"], handle_errors=0)) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/Webware/VerySimpleContext/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/Webware/VerySimpleContext/__init__.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +""" +Webware context for the VerySimple application (post Webware 0.8.1). +""" + +from WebStack.Adapters.Webware import WebStackURLParser +from VerySimple import VerySimpleResource + +# NOTE: Initialising a shared resource. + +resource = VerySimpleResource() +urlParser = WebStackURLParser(resource, handle_errors=0) + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 064f02540579 -r de8f42b6c3cc examples/Zope/VerySimpleProduct/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/Zope/VerySimpleProduct/__init__.py Sun Apr 24 22:57:36 2005 +0000 @@ -0,0 +1,51 @@ +#!/usr/bin/env python + +"A very simple Zope product." + +from VerySimple import VerySimpleResource +from WebStack.Adapters.Zope import WebStackAdapterProduct +from Globals import InitializeClass + +class VerySimpleProduct(WebStackAdapterProduct): + meta_type = "VerySimple product" + def __init__(self, id): + WebStackAdapterProduct.__init__(self, id, VerySimpleResource()) + +InitializeClass(VerySimpleProduct) + +def addVerySimpleProduct(self): + """ + The HTML form used to add the product. + """ + + return """ + + + Add VerySimple Product + + +
+ id
+ +
+ + + """ + +def addProduct(self, id, REQUEST=None): + """ + The function used to add the product. + """ + + product = VerySimpleProduct(id) + self.Destination()._setObject(id, product) + if REQUEST: + return self.manage_main(self, REQUEST) + +def initialize(context): + context.registerClass( + VerySimpleProduct, + constructors = (addVerySimpleProduct, addProduct) + ) + +# vim: tabstop=4 expandtab shiftwidth=4