diff --git a/paramecio/cherry.py b/paramecio/cherry.py index 2fc4c62..729337b 100644 --- a/paramecio/cherry.py +++ b/paramecio/cherry.py @@ -8,9 +8,17 @@ from settings import config # Import CherryPy import cherrypy -if __name__ == '__main__': - - cherrypy.config.update({'engine.autoreload.on': config.reloader}) +def run_cherrypy_server(): + + access_log='' + error_log='' + + if hasattr(config, 'access_log'): + access_log=config.access_log + if hasattr(config, 'error_log'): + error_log=config.error_log + + cherrypy.config.update({'engine.autoreload.on': config.reloader, 'log.access_file': access_log, 'log.error_file': error_log}) # Mount the application cherrypy.tree.graft(application, "/") @@ -22,15 +30,29 @@ if __name__ == '__main__': server = cherrypy._cpserver.Server() # Configure the server object - server.socket_host = "0.0.0.0" - server.socket_port = 8080 - server.thread_pool = 10 + server.socket_host=config.host + server.socket_port=config.port + + server.thread_pool=10 + + if hasattr(config, 'thread_pool'): + server.thread_pool=config.thread_pool # For SSL Support - # server.ssl_module = 'pyopenssl' - # server.ssl_certificate = 'ssl/certificate.crt' - # server.ssl_private_key = 'ssl/private.key' - # server.ssl_certificate_chain = 'ssl/bundle.crt' + + # By default use pyopenssl + + server.ssl_module='pyopenssl' + + if hasattr(config, 'ssl_module'): + server.ssl_module=config.ssl_module + + if hasattr(config, 'ssl_certificate') and hasattr(config, 'private_key') and hasattr(config, 'certificate_chain'): + server.ssl_certificate=config.ssl_certificate + server.ssl_private_key=config.ssl_private_key + server.ssl_certificate_chain=config.certificate_chain + + # Subscribe this server server.subscribe() diff --git a/paramecio/index.py b/paramecio/index.py index 11fbe63..3e65bf7 100644 --- a/paramecio/index.py +++ b/paramecio/index.py @@ -135,6 +135,9 @@ except: def run_app(app): - - run(app=app, host=config.host, server=config.server_used, port=config.port, debug=config.debug, reloader=config.reloader) + if config.server_used!='cherrypy': + run(app=app, host=config.host, server=config.server_used, port=config.port, debug=config.debug, reloader=config.reloader) + else: + from paramecio.cherry import run_cherrypy_server + run_cherrypy_server()