All pastes #469446 Raw Edit

Something

public text v1 · immutable
·published 2007-05-03 19:16 UTC
rendered paste body
"""
Tutorial - Hello World

The most basic (working) CherryPy application possible.
"""

# Import CherryPy global namespace
import cherrypy

class HelloWorld:
    """ Sample request handler class. """

    def index(self):
        # CherryPy will call this method for the root URI ("/") and send
        # its return value to the client. Because this is tutorial
        # lesson number 01, we'll just send something really simple.
        # How about...
        return "Hello world!"

    # Expose the index method through the web. CherryPy will never
    # publish methods that don't have the exposed attribute set to True.
    index.exposed = True

class stats:
    """ Sample request handler class. """

    def index(self):
        # CherryPy will call this method for the root URI ("/") and send
        # its return value to the client. Because this is tutorial
        # lesson number 01, we'll just send something really simple.
        # How about...
        return "stats!"

    # Expose the index method through the web. CherryPy will never
    # publish methods that don't have the exposed attribute set to True.
    index.exposed = True


import os.path
conf = os.path.join(os.path.dirname(__file__), 'cherrypy.conf')

if __name__ == '__main__':
    # CherryPy always starts with app.root when trying to map request URIs
    # to objects, so we need to mount a request handler root. A request
    # to '/' will be mapped to HelloWorld().index().
    #cherrypy.quickstart(HelloWorld(), config=tutconf)
    cherrypy.root = HelloWorld()
    cherrypy.root.stats = stats()
    cherrypy.config.update({
       'global': {'server.log_to_screen': True,
          'server.environment': 'production',
          'server.socket_port': 8000,
          'server.socket_host': '192.168.1.2',
          },
       '/' : {
          'static_filter.dir.root': '/path/to/www',
          },
       '/stats' : {
          'static_filter.dir.dir': 'stats',
          },
    })
    cherrypy.server.start()
else:
    # This branch is for the test suite; you can ignore it.
    cherrypy.tree.mount(HelloWorld(), config=conf)