#!/usr/bin/env 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 seperate 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()