14.3.117. crate_anon.crateweb.core.management.commands.runcpserver
crate_anon/crateweb/core/management/commands/runcpserver.py
Copyright (C) 2015, University of Cambridge, Department of Psychiatry. Created by Rudolf Cardinal (rnc1001@cam.ac.uk).
This file is part of CRATE.
CRATE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
CRATE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with CRATE. If not, see <https://www.gnu.org/licenses/>.
Django management command framework for CherryPy.
Based on https://lincolnloop.com/blog/2008/mar/25/serving-django-cherrypy/
Idea and code snippets borrowed from http://www.xhtml.net/scripts/Django-CherryPy-server-DjangoCerise
Adapted to run as a management command.
Some bugs fixed by RNC.
Then rewritten by RNC.
Then modified to serve CRATE, with static files, etc.
Then daemonizing code removed: https://code.djangoproject.com/ticket/4996
TEST COMMAND:
./manage.py runcpserver --port 8080 --ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem --ssl_private_key /etc/ssl/private/ssl-cert-snakeoil.key
- class crate_anon.crateweb.core.management.commands.runcpserver.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]
Django management command to run this project in a CherryPy web server.
- class crate_anon.crateweb.core.management.commands.runcpserver.Missing[source]
CherryPy “application” that is a basic web interface to say “not here”.
- crate_anon.crateweb.core.management.commands.runcpserver.main() None [source]
Command-line entry point (not typically used directly).
- crate_anon.crateweb.core.management.commands.runcpserver.runcpserver(opts: Namespace) None [source]
Launch the CherryPy server using arguments from an
argparse.Namespace
.- Parameters:
opts – the command-line
argparse.Namespace
- crate_anon.crateweb.core.management.commands.runcpserver.start_server(host: str, port: int, threads: int, server_name: str, root_path: str, log_screen: bool, ssl_certificate: str, ssl_private_key: str, debug_static: bool) None [source]
Start CherryPy server.
- Parameters:
host – hostname to listen on (e.g.
127.0.0.1
)port – port number to listen on
threads – number of threads to use in the thread pool
server_name – CherryPy SERVER_NAME environment variable (e.g.
localhost
)root_path – root path to mount server at
log_screen – show log to console?
ssl_certificate – optional filename of an SSL certificate
ssl_private_key – optional filename of an SSL private key
debug_static – show debug info for static requests?