From fc1ff6db653f99f46504cd2d8ed6055ccbb659f2 Mon Sep 17 00:00:00 2001 From: Jay Young Date: Wed, 3 Feb 2016 17:24:46 +0800 Subject: [PATCH] [ADD]management command so that can run dddp server from ./manage.py dddp --- dddp/management/__init__.py | 0 dddp/management/commands/__init__.py | 0 dddp/management/commands/dddp.py | 48 ++++++++++++++++++++++++++++ setup.py | 5 --- 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 dddp/management/__init__.py create mode 100644 dddp/management/commands/__init__.py create mode 100644 dddp/management/commands/dddp.py diff --git a/dddp/management/__init__.py b/dddp/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dddp/management/commands/__init__.py b/dddp/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dddp/management/commands/dddp.py b/dddp/management/commands/dddp.py new file mode 100644 index 0000000..0838ab4 --- /dev/null +++ b/dddp/management/commands/dddp.py @@ -0,0 +1,48 @@ +from django.core.management.base import BaseCommand +from ...main import addr,Addr + + +class Command(BaseCommand): + help = "Runs a bbp as daemon" + + def add_arguments(self, parser): + django = parser.add_argument_group('Django Options') + # django.add_argument( + # '--verbosity', '-v', metavar='VERBOSITY', dest='verbosity', type=int, + # default=1, + # ) + django.add_argument( + '--noisy', '-n', metavar='NOISY', dest='noisy', type=int, + default=1, + ) + django.add_argument( + '--debug-port', metavar='DEBUG_PORT', dest='debug_port', type=int, + default=0, + ) + http = parser.add_argument_group('HTTP Options') + http.add_argument( + 'listen', metavar='address[:port]', nargs='*', type=addr, + help='Listening address for HTTP(s) server.', + ) + ssl = parser.add_argument_group('SSL Options') + ssl.add_argument('--ssl-version', metavar='SSL_VERSION', dest='ssl_version', + help="SSL version to use (see stdlib ssl module's) [3]", + choices=['1', '2', '3'], default='3') + ssl.add_argument('--certfile', metavar='FILE', dest='certfile', + help="SSL certificate file [None]") + ssl.add_argument('--ciphers', metavar='CIPHERS', dest='ciphers', + help="Ciphers to use (see stdlib ssl module's) [TLSv1]") + ssl.add_argument('--ca-certs', metavar='FILE', dest='ca_certs', + help="CA certificates file [None]") + ssl.add_argument('--keyfile', metavar='FILE', dest='keyfile', + help="SSL key file [None]") + + def handle(self,**options): + from ...main import serve + serve( + options["listen"] or [Addr('localhost', 8000)], + debug_port=options["debug_port"], + keyfile=options["keyfile"], + certfile=options["certfile"], + verbosity=options["verbosity"], + ) diff --git a/setup.py b/setup.py index 78a7f99..13bb212 100644 --- a/setup.py +++ b/setup.py @@ -239,11 +239,6 @@ setuptools.setup( 'sphinxcontrib-dashbuilder>=0.1.0', ], }, - entry_points={ - 'console_scripts': [ - 'dddp=dddp.main:main', - ], - }, classifiers=CLASSIFIERS, test_suite='tests.manage.run_tests', tests_require=[