diff --git a/examples/cherry_hello_world.py b/examples/cherry_hello_world.py new file mode 100644 index 0000000..9466182 --- /dev/null +++ b/examples/cherry_hello_world.py @@ -0,0 +1,10 @@ +import cherrypy + + +class HelloWorld(object): + @cherrypy.expose + def index(self): + return "Hello World!" + + +cherrypy.quickstart(HelloWorld()) diff --git a/examples/chttpd.py b/examples/chttpd.py new file mode 100755 index 0000000..814443b --- /dev/null +++ b/examples/chttpd.py @@ -0,0 +1,56 @@ +#!/usr/bin/python3 +import os +import cherrypy + +from modules import index + +SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__)) + + +def main_server_loop(): + ''' Master http server - the main executable / daemon + + Contains basic server settings and how the sub-modules + are called and mounted to their respective paths + + Args: + *None* + + Sets: + *server_config:* dict(), updates cherrypy.config + *conf:* dict(), see Cherrypy docs for more + *cherrypy.config:* dict(), see Cherrypy docs for more + + Returns: + *N/A* + + Raises: + *Exception* If server is unable to start + + ''' + server_config={ + 'server.socket_host': '127.0.0.1', + 'server.socket_port': 80 + } + cherrypy.config.update(server_config) + conf = { + '/': { + 'tools.sessions.on': True, + 'tools.staticdir.root': os.path.abspath(SCRIPT_PATH + '/') + }, + '/static': { + 'tools.staticdir.on': True, + 'tools.staticdir.dir': './static' + } + } + + cherrypy.tree.mount(index.wellcome(), "/", conf) + cherrypy.engine.start() + cherrypy.engine.block() + + +if __name__ == '__main__': + try: + main_server_loop() + except Exception as e: + raise e diff --git a/examples/modules/index.py b/examples/modules/index.py new file mode 100644 index 0000000..f15468e --- /dev/null +++ b/examples/modules/index.py @@ -0,0 +1,12 @@ +#!/usr/bin/python3 +import cherrypy +import config + +static_dir = '/templates/' # Needs to have trailing and leading slash '/' + +class wellcome(object): + '''Base Index constructor and expose function''' + @cherrypy.expose + def index(self): + result = '

Wellcome

' + return result