summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-03-13 16:05:46 -0400
committerSimo Sorce <simo@redhat.com>2014-03-13 16:06:40 -0400
commit28a9f2009c5a418271bc101ce775c4204c9de2e3 (patch)
tree6eed903ae7a396157c88582b35323bbca0ece61c
parente47edacd7eb7f4c90a244aed7313d07eaac08875 (diff)
downloadipsilon.git-28a9f2009c5a418271bc101ce775c4204c9de2e3.tar.gz
ipsilon.git-28a9f2009c5a418271bc101ce775c4204c9de2e3.tar.xz
ipsilon.git-28a9f2009c5a418271bc101ce775c4204c9de2e3.zip
Better handling of configuration file
allow to pass it on the command line or to look for it in well known locations. Signed-off-by: Simo Sorce <simo@redhat.com>
-rwxr-xr-xipsilon/idpserver.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/ipsilon/idpserver.py b/ipsilon/idpserver.py
index f9fb527..beb1a92 100755
--- a/ipsilon/idpserver.py
+++ b/ipsilon/idpserver.py
@@ -28,7 +28,17 @@ from ipsilon.util import page
from ipsilon.root import Root
from jinja2 import Environment, FileSystemLoader
-cherrypy.config.update('ipsilon.conf')
+cfgfile = None
+if (len(sys.argv) > 1):
+ cfgfile = sys.argv[-1]
+elif os.path.isfile('ipsilon.conf'):
+ cfgfile = 'ipsilon.conf'
+elif os.path.isfile('/etc/ipsilon/ipsilon.conf'):
+ cfgfile = '/etc/ipsilon/ipsilon.conf'
+else:
+ raise IOError("Configuration file not found")
+
+cherrypy.config.update(cfgfile)
datastore = Store()
admin_config = datastore.get_admin_config()