diff options
Diffstat (limited to 'talerbank/app/management')
-rw-r--r-- | talerbank/app/management/commands/dump_talerdb.py | 11 | ||||
-rw-r--r-- | talerbank/app/management/commands/helpers.py | 24 | ||||
-rw-r--r-- | talerbank/app/management/commands/provide_accounts.py | 26 |
3 files changed, 39 insertions, 22 deletions
diff --git a/talerbank/app/management/commands/dump_talerdb.py b/talerbank/app/management/commands/dump_talerdb.py index 5685da1..ba81444 100644 --- a/talerbank/app/management/commands/dump_talerdb.py +++ b/talerbank/app/management/commands/dump_talerdb.py @@ -19,6 +19,7 @@ import logging from django.core.management.base import BaseCommand from django.db.utils import OperationalError, ProgrammingError from ...models import BankAccount, BankTransaction +from .helpers import hard_db_error_log LOGGER = logging.getLogger(__name__) @@ -31,10 +32,7 @@ def dump_accounts(): for acc in accounts: print(acc.user.username + " has account number " + str(acc.account_no)) except (OperationalError, ProgrammingError): - LOGGER.error("likely causes: non existent DB or unmigrated project\n" - "(try 'taler-bank-manage django migrate' in the latter case)", - stack_info=False, - exc_info=True) + hard_db_error_log() sys.exit(1) @@ -51,10 +49,7 @@ def dump_history(): msg.append(item.subject) print(''.join(msg)) except (OperationalError, ProgrammingError): - LOGGER.error("likely causes: non existent DB or unmigrated project\n" - "(try 'taler-bank-manage django migrate' in the latter case)", - stack_info=False, - exc_info=True) + hard_db_error_log() sys.exit(1) diff --git a/talerbank/app/management/commands/helpers.py b/talerbank/app/management/commands/helpers.py new file mode 100644 index 0000000..62137e9 --- /dev/null +++ b/talerbank/app/management/commands/helpers.py @@ -0,0 +1,24 @@ +# This file is part of TALER +# (C) 2017 Taler Systems SA +# +# TALER is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3, or (at your option) any later version. +# +# TALER is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> +# +# @author Marcello Stanisci + +import logging +LOGGER = logging.getLogger(__name__) + +def hard_db_error_log(): + LOGGER.error("likely causes: non existent DB or unmigrated project\n" + "(try 'taler-bank-manage django migrate' in the latter case)", + stack_info=False, + exc_info=True) diff --git a/talerbank/app/management/commands/provide_accounts.py b/talerbank/app/management/commands/provide_accounts.py index de5067d..c719296 100644 --- a/talerbank/app/management/commands/provide_accounts.py +++ b/talerbank/app/management/commands/provide_accounts.py @@ -18,12 +18,13 @@ import sys import logging from django.contrib.auth.models import User -from django.db.utils import ProgrammingError, DataError, OperationalError +from django.db.utils import ProgrammingError, OperationalError from django.core.management.base import BaseCommand -from ...models import BankAccount from django.conf import settings +from ...models import BankAccount +from .helpers import hard_db_error_log -logger = logging.getLogger(__name__) +LOGGER = logging.getLogger(__name__) def demo_accounts(): @@ -31,25 +32,21 @@ def demo_accounts(): try: User.objects.get(username=name) except User.DoesNotExist: - u = User.objects.create_user(username=name, password='x') - b = BankAccount(user=u, is_public=True) - b.save() - logger.info("Creating account '%s' with number %s", name, b.account_no) + BankAccount(user=User.objects.create_user(username=name, password='x'), + is_public=True).save() + LOGGER.info("Creating account for '%s'", name) def ensure_account(name): - logger.info("ensuring account '{}'".format(name)) + LOGGER.info("ensuring account '%s'", name) user = None try: user = User.objects.get(username=name) except (OperationalError, ProgrammingError): - logger.error("likely causes: non existent DB or unmigrated project\n" - "(try 'taler-bank-manage django migrate' in the latter case)", - stack_info=False, - exc_info=True) + hard_db_error_log() sys.exit(1) except User.DoesNotExist: - logger.info("Creating *user* account '{}'".format(name)) + LOGGER.info("Creating *user* account '%s'", name) user = User.objects.create_user(username=name, password='x') try: @@ -58,7 +55,8 @@ def ensure_account(name): except BankAccount.DoesNotExist: acc = BankAccount(user=user, is_public=True) acc.save() - logger.info("Creating *bank* account number '{}' for user '{}'".format(acc.account_no, name)) + LOGGER.info("Creating *bank* account number \ + '%s' for user '%s'", acc.account_no, name) def basic_accounts(): |