diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2017-11-22 20:56:23 +0100 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2017-11-22 20:56:23 +0100 |
commit | 8ce18c11fb893be1b4718f7450dd07d74e302631 (patch) | |
tree | 431855a576daceb4de2954da6e7b2c860832e302 /talerbank/settings.py | |
parent | c670a3132126adb7638a0685d2325708883e2e1b (diff) | |
download | bank-8ce18c11fb893be1b4718f7450dd07d74e302631.tar.gz bank-8ce18c11fb893be1b4718f7450dd07d74e302631.tar.bz2 bank-8ce18c11fb893be1b4718f7450dd07d74e302631.zip |
linting the settings
Diffstat (limited to 'talerbank/settings.py')
-rw-r--r-- | talerbank/settings.py | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/talerbank/settings.py b/talerbank/settings.py index 3dad905..fce85e5 100644 --- a/talerbank/settings.py +++ b/talerbank/settings.py @@ -8,19 +8,19 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/1.9/ref/settings/ """ -import os -import logging import base64 -from .talerconfig import TalerConfig, ConfigurationError +import logging +import os +import re import sys import urllib.parse -import re +from .talerconfig import TalerConfig, ConfigurationError -logger = logging.getLogger(__name__) +LOGGER = logging.getLogger(__name__) -logger.info("DJANGO_SETTINGS_MODULE: %s" % os.environ.get("DJANGO_SETTINGS_MODULE")) +LOGGER.info("DJANGO_SETTINGS_MODULE: %s" % os.environ.get("DJANGO_SETTINGS_MODULE")) -tc = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE")) +TC = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE")) # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -32,7 +32,8 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SECRET_KEY = os.environ.get("TALER_BANK_SECRET_KEY", None) if not SECRET_KEY: - logging.info("secret key not configured in TALER_BANK_SECRET_KEY env variable, generating random secret") + logging.info("secret key not configured in TALER_BANK_SECRET_KEY \ + env variable, generating random secret") SECRET_KEY = base64.b64encode(os.urandom(32)).decode('utf-8') # SECURITY WARNING: don't run with debug turned on in production! @@ -91,44 +92,42 @@ WSGI_APPLICATION = 'talerbank.wsgi.application' DATABASES = {} -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) +DBNAME = TC.value_string("bank", "database", required=True) +DBNAME = os.environ.get("TALER_BANK_ALTDB", DBNAME) -if not dbname: +if not DBNAME: raise Exception("DB not specified (neither in config or as cli argument)") -logger.info("dbname: %s" % dbname) +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'") +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(2) -dbconfig = {} -db_url = urllib.parse.urlparse(dbname) - +DBCONFIG = {} +DB_URL = urllib.parse.urlparse(DBNAME) -if ((db_url.scheme not in ("postgres")) or ("" == db_url.scheme)): - logger.error("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("/") - -if not db_url.netloc: - p = urllib.parse.parse_qs(db_url.query) - if ("host" not in p) or len(p["host"]) == 0: - host = None +if DB_URL.scheme == "postgres": + DBCONFIG["ENGINE"] = 'django.db.backends.postgresql_psycopg2' + DBCONFIG["NAME"] = DB_URL.path.lstrip("/") + +if not DB_URL.netloc: + P = urllib.parse.parse_qs(DB_URL.query) + if ("host" not in P) or P["host"] == "": + HOST = None else: - host = p["host"][0] + HOST = P["host"][0] else: - host = db_url.netloc + HOST = DB_URL.netloc -if host: - dbconfig["HOST"] = host +if HOST: + DBCONFIG["HOST"] = HOST -DATABASES["default"] = dbconfig +DATABASES["default"] = DBCONFIG # Password validation # https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators @@ -182,15 +181,15 @@ STATIC_ROOT = '/tmp/talerbankstatic/' ROOT_URLCONF = "talerbank.app.urls" try: - TALER_CURRENCY = tc.value_string("taler", "currency", required=True) -except ConfigurationError as e: - logger.error(e) + TALER_CURRENCY = TC.value_string("taler", "currency", required=True) +except ConfigurationError as exc: + LOGGER.error(exc) sys.exit(3) -TALER_MAX_DEBT = tc.value_string("bank", "MAX_DEBT", default="%s:50.0" % TALER_CURRENCY) -TALER_MAX_DEBT_BANK = tc.value_string("bank", "MAX_DEBT_BANK", default="%s:0.0" % TALER_CURRENCY) +TALER_MAX_DEBT = TC.value_string("bank", "MAX_DEBT", default="%s:50.0" % TALER_CURRENCY) +TALER_MAX_DEBT_BANK = TC.value_string("bank", "MAX_DEBT_BANK", default="%s:0.0" % TALER_CURRENCY) -TALER_DIGITS = tc.value_int("bank", "NDIGITS", default=2) +TALER_DIGITS = TC.value_int("bank", "NDIGITS", default=2) TALER_PREDEFINED_ACCOUNTS = ['Tor', 'GNUnet', 'Taler', 'FSF', 'Tutorial'] TALER_EXPECTS_DONATIONS = ['Tor', 'GNUnet', 'Taler', 'FSF'] -TALER_SUGGESTED_EXCHANGE = tc.value_string("bank", "suggested_exchange") +TALER_SUGGESTED_EXCHANGE = TC.value_string("bank", "suggested_exchange") |