aboutsummaryrefslogtreecommitdiffstats

from os import getenv

import cherrypy

from .web import Server, SecureServer

from .imapplugin import ImapPlugin
from .db import DBPoolManager
from .pagegenerator import Generator

from .types import Site

def run():
	db=DBPoolManager(cherrypy.engine)
	db.subscribe()
	site=Site(dbpool=db)
	imap=ImapPlugin(
		cherrypy.engine, dbpool=db, site=site
		)
	imap.subscribe()

	regen=Generator(cherrypy.engine,imap=imap,site=site,dbpool=db)
	regen.subscribe()


	server=Server(dbpool=db,site=site,imap=imap)

	secureserver=SecureServer(server)

	securepath=getenv("ACIT_SECURE_PATH","/secure/")
	if not securepath.startswith('/'):
		securepath='/'+securepath

	cherrypy.tree.mount(secureserver,securepath,{
		'/':{
			'tools.sessions.on':True,
			}
		})

	cherrypy.quickstart(server,'/',{
		'global':{
			'server.socket_host':'0.0.0.0',
			'tools.proxy.on':True if getenv("ACIT_BEHIND_PROXY") else False
			},
		})


if __name__=="__main__":
	run()