# HG changeset patch # User dirk # Date 1315622620 -7200 # Node ID a4832a180c695f15519416bb1512988c68f7b757 # Parent c8393c2cd32456ebfdcd895770061ec787da31a2 allow setting the URL to the database via command line diff -r c8393c2cd324 -r a4832a180c69 backend/couchdb/CouchDb.py --- a/backend/couchdb/CouchDb.py Sat Sep 10 04:32:53 2011 +0200 +++ b/backend/couchdb/CouchDb.py Sat Sep 10 04:43:40 2011 +0200 @@ -1,17 +1,32 @@ from argparse import ArgumentParser +database_url = None database = "feedworm" def init(): + args = _parseArguments() + _setDatabaseName(args) + _setDatabaseUrl(args) + +def _parseArguments(): parser = ArgumentParser() parser.add_argument("--dbname", nargs="?", help="Name of the database") - args = parser.parse_known_args() + parser.add_argument("--dburl", nargs="?", help="URL of the database") + return parser.parse_known_args() + +def _setDatabaseName(args): dbname = args[0].dbname if dbname is not None: global database database = dbname +def _setDatabaseUrl(args): + dburl = args[0].dburl + if dburl is not None: + global database_url + database_url = dburl + # # accessor methods for the various views # diff -r c8393c2cd324 -r a4832a180c69 backend/couchdb/CouchDbBackend.py --- a/backend/couchdb/CouchDbBackend.py Sat Sep 10 04:32:53 2011 +0200 +++ b/backend/couchdb/CouchDbBackend.py Sat Sep 10 04:43:40 2011 +0200 @@ -15,10 +15,16 @@ def __init__(self): CouchDb.init() - server = couchdb.Server() + server = self._initServer() self.database = server[CouchDb.database] self.prefs = None + def _initServer(self): + if CouchDb.database_url is not None: + return couchdb.Server(CouchDb.database_url) + else: + return couchdb.Server() + def preferences(self): if self.prefs is None: self.prefs = Preferences(self.database)