cryptonas/bin/CryptoBoxWebserver.py

38 lines
1.1 KiB
Python
Executable file

#!/usr/bin/python2.4
import os
import WebInterfaceSites
import sys
try:
import cherrypy
except:
print "Could not import the cherrypy module! Try 'apt-get install python-cherrypy'."
sys.exit(1)
class CryptoBoxWebserver:
'''this class starts the cherryp webserver and serves the single sites'''
def __init__(self):
cherrypy.root = WebInterfaceSites.WebInterfaceSites()
#expose static content:
#I currently have no idea how to cleanly extract the stylesheet path from
#the config object without an extra CryptoBox.CryptoBoxProps instance.
#perhaps put config handling into a separate class in CryptoBox.py?
#
# the following manual mapping is necessary, as we may not use relative
# paths in the config file
cherrypy.config.configMap.update({
"/cryptobox-misc": {
"staticFilter.on" : True,
"staticFilter.dir": os.path.abspath("../www-data" )}
})
def start(self):
# just use this config, when we're started directly
cherrypy.config.update(file = "cryptoboxwebserver.conf")
cherrypy.server.start()
if __name__ == "__main__":
cbw = CryptoBoxWebserver()
cbw.start()