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