35 lines
		
	
	
		
			996 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			996 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""passbook Webserver management command"""
 | 
						|
 | 
						|
from logging import getLogger
 | 
						|
 | 
						|
import cherrypy
 | 
						|
from django.conf import settings
 | 
						|
from django.core.management.base import BaseCommand
 | 
						|
 | 
						|
from passbook.core.wsgi import application
 | 
						|
 | 
						|
LOGGER = getLogger(__name__)
 | 
						|
 | 
						|
 | 
						|
class Command(BaseCommand):
 | 
						|
    """Run CherryPy webserver"""
 | 
						|
 | 
						|
    def handle(self, *args, **options):
 | 
						|
        """passbook cherrypy server"""
 | 
						|
        config = settings.CHERRYPY_SERVER
 | 
						|
        config.update(**options)
 | 
						|
        cherrypy.config.update(config)
 | 
						|
        cherrypy.tree.graft(application, '/')
 | 
						|
        # Mount NullObject to serve static files
 | 
						|
        cherrypy.tree.mount(None, '/static', config={
 | 
						|
            '/': {
 | 
						|
                'tools.staticdir.on': True,
 | 
						|
                'tools.staticdir.dir': settings.STATIC_ROOT,
 | 
						|
                'tools.expires.on': True,
 | 
						|
                'tools.expires.secs': 86400,
 | 
						|
                'tools.gzip.on': True,
 | 
						|
            }
 | 
						|
        })
 | 
						|
        cherrypy.engine.start()
 | 
						|
        cherrypy.engine.block()
 |