"""
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)