31 lines
895 B
Python
31 lines
895 B
Python
"""passbook Webserver management command"""
|
|
|
|
from logging import getLogger
|
|
|
|
from daphne.cli import CommandLineInterface
|
|
from django.core.management.base import BaseCommand
|
|
from django.utils import autoreload
|
|
|
|
from passbook.lib.config import CONFIG
|
|
|
|
LOGGER = getLogger(__name__)
|
|
|
|
|
|
class Command(BaseCommand):
|
|
"""Run CherryPy webserver"""
|
|
|
|
def handle(self, *args, **options):
|
|
"""passbook daphne server"""
|
|
autoreload.run_with_reloader(self.daphne_server)
|
|
|
|
def daphne_server(self):
|
|
"""Run daphne server within autoreload"""
|
|
autoreload.raise_last_exception()
|
|
CommandLineInterface().run([
|
|
'-p', str(CONFIG.y('web.port', 8000)),
|
|
'-b', CONFIG.y('web.listen', '0.0.0.0'), # nosec
|
|
'--access-log', '/dev/null',
|
|
'--application-close-timeout', '500',
|
|
'passbook.core.asgi:application'
|
|
])
|