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()
 | 
