[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-bank] branch master updated: adding --with-db option
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-bank] branch master updated: adding --with-db option, commenting out obsolete command to create sample data |
Date: |
Mon, 15 May 2017 21:34:54 +0200 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository bank.
The following commit(s) were added to refs/heads/master by this push:
new 984401d adding --with-db option, commenting out obsolete command to
create sample data
984401d is described below
commit 984401d346ea61e332baef76803740e04cf2462e
Author: Marcello Stanisci <address@hidden>
AuthorDate: Mon May 15 21:33:45 2017 +0200
adding --with-db option, commenting out obsolete command to create sample
data
---
taler-bank-manage.in | 14 +++++++++-----
talerbank/settings.py | 20 +++++++++++++-------
2 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/taler-bank-manage.in b/taler-bank-manage.in
index ec594fc..c3fce52 100644
--- a/taler-bank-manage.in
+++ b/taler-bank-manage.in
@@ -94,16 +94,19 @@ def handle_config(args):
parser = argparse.ArgumentParser()
parser.set_defaults(func=None)
-parser.add_argument('--config', '-c', help="configuration file to use",
metavar="CONFIG", type=str, dest="config", default=None)
-parser.add_argument('--with-db', help="use ALTERNATE_DB", type=str,
metavar="ALTERNATE_DB", dest="altdb")
+parser.add_argument('--config', '-c', help="configuration file to use",
+ metavar="CONFIG", type=str, dest="config", default=None)
+parser.add_argument('--with-db', help="use 'dbname' (currently only
'dbtype'=='postgres' is supported)",
+ type=str, metavar="dbtype:///dbname", dest="altdb")
sub = parser.add_subparsers()
p = sub.add_parser('django', help="Run django-admin command")
p.add_argument("command", nargs=argparse.REMAINDER)
p.set_defaults(func=handle_django)
-p = sub.add_parser('sampledata', help="Put sample data into the db")
-p.set_defaults(func=handle_sampledata)
+# FIXME: adapt to newest wire_transfer()
+# p = sub.add_parser('sampledata', help="Put sample data into the db")
+# p.set_defaults(func=handle_sampledata)
p = sub.add_parser('serve-http', help="Serve bank over HTTP")
p.add_argument("--port", "-p", dest="port", type=int, default=None,
metavar="PORT")
@@ -121,7 +124,8 @@ args = parser.parse_args()
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "talerbank.settings")
if args.altdb:
- os.environ.setdefault("ALTDB", args.altdb)
+ logger.info("Setting alternate db: %s" % args.altdb)
+ os.environ.setdefault("TALER_BANK_ALTDB", args.altdb)
if getattr(args, 'func', None) is None:
parser.print_help()
diff --git a/talerbank/settings.py b/talerbank/settings.py
index ed15674..6bbbc46 100644
--- a/talerbank/settings.py
+++ b/talerbank/settings.py
@@ -14,6 +14,7 @@ import base64
from .talerconfig import TalerConfig
import sys
import urllib.parse
+import re
logger = logging.getLogger(__name__)
@@ -90,19 +91,27 @@ WSGI_APPLICATION = 'talerbank.wsgi.application'
DATABASES = {}
-# parse a database URL, django can't natively do this!
dbname = tc.value_string("bank", "database", required=True)
+# db given in cli argument takes precedence over config
+dbname = os.environ.get("TALER_BANK_ALTDB", dbname)
if not dbname:
- raise Exception("'database' option value is missing from config")
+ raise Exception("DB not specified (neither in config or as cli argument)")
logger.info("dbname: %s" % dbname)
+
+check_dbstring_format = re.search("[a-z]+:///[a-z]+", dbname)
+if not check_dbstring_format:
+ logger.error("Bad db string given, respect the format 'dbtype:///dbname'")
+ sys.exit(1)
+
dbconfig = {}
db_url = urllib.parse.urlparse(dbname)
-if db_url.scheme not in ("postgres"):
- raise Exception("DB '%s' is not supported" % db_url.scheme)
+if ((db_url.scheme not in ("postgres")) or ("" == db_url.scheme)):
+ logger.error("DB '%s' is not supported" % db_url.scheme)
+ sys.exit(1)
if db_url.scheme == "postgres":
dbconfig["ENGINE"] = 'django.db.backends.postgresql_psycopg2'
dbconfig["NAME"] = db_url.path.lstrip("/")
@@ -119,9 +128,6 @@ else:
if host:
dbconfig["HOST"] = host
-logger.info("db string '%s'", dbname)
-logger.info("db info '%s'", dbconfig)
-
DATABASES["default"] = dbconfig
# Password validation
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-bank] branch master updated: adding --with-db option, commenting out obsolete command to create sample data,
gnunet <=