diff -r 0d134b173cb1 -r 665c3ea02d35 extras/iro.tac --- a/extras/iro.tac Fri Mar 30 15:55:44 2012 +0200 +++ b/extras/iro.tac Fri Mar 30 16:39:12 2012 +0200 @@ -6,7 +6,7 @@ from sqlalchemy import create_engine, pool -from iro import config +from iro import config, install from iro.view import xmlrpc from iro.model import setEngine, setPool from iro.controller.pool import startPool, dbPool @@ -21,12 +21,29 @@ startPool(reactor) setPool(dbPool) reactor.callWhenRunning(config.readConfig) + Service.startService(self) def get_application(): app = Application("Iro") + if not install.checkConfig(): + log.err("You can create a sample configuration file by running iro-install") + raise Exception("Please update or create your configuration file iro.conf.") config.init() + if not install.checkDatabaseConnection(): + raise Exception("Can't connect to database") + + if not install.checkDatabase(): + raise Exception("Database not in right format. Please run iro-install --install") + + routes = [ s for s in config.configParser.sections() if not s in ["main",]] + ao = install.getAllRoutes(routes, False) + for o in ao["orphand"]: + log.msg("Offer(%s) is orphand (no route using this offer)."%o) + if ao["added"]: + raise Exception("offerlist is not up-to-date.\nPlease run iro-install --update") + root = resource.Resource() root = xmlrpc.appendResource(root)