summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2013-02-19 20:33:04 -0300
committerdrebs <drebs@leap.se>2013-02-19 20:33:04 -0300
commit8b4b10b273877e9c41a1638c789aafde5ebebedf (patch)
treee573eb30b8a642159d54460c756f3c79b77cdf49
parent92bd7132c22b422039d2c1cfac42bec30e317d5d (diff)
Add ability on server to read configuration from file.
-rw-r--r--__init__.py6
-rw-r--r--server.py25
2 files changed, 23 insertions, 8 deletions
diff --git a/__init__.py b/__init__.py
index bc8ef5b4..cf9326ca 100644
--- a/__init__.py
+++ b/__init__.py
@@ -74,10 +74,10 @@ class Soledad(object):
# get config from file
config = configparser.ConfigParser()
config.read(self.config_file)
- if 'soledad-server' in config:
+ if 'soledad-client' in config:
for key in default_conf:
- if key in config['soledad-server']:
- setattr(self, key, config['soledad-server'][key])
+ if key in config['soledad-client']:
+ setattr(self, key, config['soledad-client'][key])
def _init_dirs(self):
if not os.path.isdir(self.prefix):
diff --git a/server.py b/server.py
index 9e43de93..eb565e9f 100644
--- a/server.py
+++ b/server.py
@@ -5,17 +5,32 @@ This should be run with:
twistd -n web --wsgi=leap.soledad.server.application
"""
+import configparser
from twisted.web.wsgi import WSGIResource
from twisted.internet import reactor
from u1db.remote import http_app
from leap.soledad.backends.couch import CouchServerState
-# TODO: change couch url accordingly
-couch_url = 'http://localhost:5984'
-state = CouchServerState(couch_url)
+
+def load_configuration(file_path):
+ conf = {
+ 'couch_url': 'http://localhost:5984',
+ 'working_dir': '/tmp',
+ }
+ config = configparser.ConfigParser()
+ config.read(file_path)
+ if 'soledad-server' in config:
+ for key in conf:
+ if key in config['soledad-server']:
+ conf[key] = config['soledad-server'][key]
+ return conf
+
+
+conf = load_configuration('/etc/leap/soledad-server.ini')
+
+state = CouchServerState(conf['couch_url'])
# TODO: change working dir to something meaningful
-state.set_workingdir('/tmp')
-# TODO: write a LeapHTTPApp that will use Couch as backend instead of SQLite
+state.set_workingdir(conf['working_dir'])
application = http_app.HTTPApp(state)
resource = WSGIResource(reactor, reactor.getThreadPool(), application)