Event-driven framework (other than Twisted)?
James Mills
prologic at shortcircuit.net.au
Thu Oct 2 06:58:10 EDT 2008
More information about the Python-list mailing list
Thu Oct 2 06:58:10 EDT 2008
- Previous message (by thread): Event-driven framework (other than Twisted)?
- Next message (by thread): Event-driven framework (other than Twisted)?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/2/08, Phillip B Oldham <phillip.oldham at gmail.com> wrote: > On Oct 2, 1:32 am, "James Mills" <prolo... at shortcircuit.net.au> wrote: > > http://hg.shortcircuit.net.au/index.wsgi/pymills/file/b7498cd4c6a4/ex... > > Thanks for the example, but its not loading. Sorry my VPS has been down for quite some time today :/ Not happy! Here is the sample: <code> #!/usr/bin/env python # -*- coding: utf-8 -*- # vim: set sw=3 sts=3 ts=3 import optparse from pymills import event from pymills.event import manager from pymills.net.sockets import TCPServer from pymills.event.core import listener, Component from pymills.net.http import HTTP, Response, Dispatcher from pymills import __version__ as systemVersion USAGE = "%prog [options] [path]" VERSION = "%prog v" + systemVersion ### ### Functions ### def parse_options(): """parse_options() -> opts, args Parse any command-line options given returning both the parsed options and arguments. """ parser = optparse.OptionParser(usage=USAGE, version=VERSION) parser.add_option("-b", "--bind", action="store", default="0.0.0.0:8000", dest="bind", help="Bind to address:port") opts, args = parser.parse_args() return opts, args ### ### Components ### class Test(Component): channel = "/" @listener("index") def onINDEX(self, request, response): self.send(Response(response), "response") @listener("hello") def onHello(self, request, response): if request.cookie.get("seen", False): response.body = "Seen you before!" else: response.body = "Hello World!" response.cookie["seen"] = True self.send(Response(response), "response") @listener("test") def onTEST(self, request, response): response.body = "OK" self.send(Response(response), "response") class WebServer(TCPServer, HTTP): pass ### ### Main ### def main(): opts, args = parse_options() if ":" in opts.bind: address, port = opts.bind.split(":") port = int(port) else: address, port = opts.bind, 80 server = WebServer(port, address) dispatcher = Dispatcher() event.manager += server event.manager += Test() event.manager += dispatcher while True: try: manager.flush() server.poll() except KeyboardInterrupt: break ### ### Entry Point ### if __name__ == "__main__": main() </code> -- -- -- "Problems are solved by method"
- Previous message (by thread): Event-driven framework (other than Twisted)?
- Next message (by thread): Event-driven framework (other than Twisted)?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list