diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2017-12-06 17:51:55 +0100 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2017-12-06 17:51:55 +0100 |
commit | 4efff7788f052cfdd2949af9198eb2c18a4cd4e8 (patch) | |
tree | 04cf19060f3c3d029af5290e2165b0b33432c695 /talerbank/app/models.py | |
parent | e10115be96dfcbbfae2c0d004e5498a224ba9a3b (diff) | |
download | bank-4efff7788f052cfdd2949af9198eb2c18a4cd4e8.tar.gz bank-4efff7788f052cfdd2949af9198eb2c18a4cd4e8.tar.bz2 bank-4efff7788f052cfdd2949af9198eb2c18a4cd4e8.zip |
annotating types for config parser
Diffstat (limited to 'talerbank/app/models.py')
-rw-r--r-- | talerbank/app/models.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/talerbank/app/models.py b/talerbank/app/models.py index 97da159..b0d0ca4 100644 --- a/talerbank/app/models.py +++ b/talerbank/app/models.py @@ -21,8 +21,7 @@ from django.contrib.auth.models import User from django.db import models from django.conf import settings from django.core.exceptions import ValidationError -from . import amount -from .types import TA +from .amount import Amount, BadFormatAmount class AmountField(models.Field): @@ -36,30 +35,30 @@ class AmountField(models.Field): return "varchar" # Pass stringified object to db connector - def get_prep_value(self, value: TA) -> str: + def get_prep_value(self, value: Amount) -> str: if not value: return "%s:0.0" % settings.TALER_CURRENCY return value.stringify(settings.TALER_DIGITS) @staticmethod - def from_db_value(value: str, *args) -> TA: + def from_db_value(value: str, *args) -> Amount: del args # pacify PEP checkers if value is None: - return amount.Amount.parse(settings.TALER_CURRENCY) - return amount.Amount.parse(value) + return Amount.parse(settings.TALER_CURRENCY) + return Amount.parse(value) - def to_python(self, value: Any) -> TA: - if isinstance(value, amount.Amount): + def to_python(self, value: Any) -> Amount: + if isinstance(value, Amount): return value try: if value is None: - return amount.Amount.parse(settings.TALER_CURRENCY) - return amount.Amount.parse(value) - except amount.BadFormatAmount: + return Amount.parse(settings.TALER_CURRENCY) + return Amount.parse(value) + except BadFormatAmount: raise ValidationError("Invalid input for an amount string: %s" % value) -def get_zero_amount() -> TA: - return amount.Amount(settings.TALER_CURRENCY) +def get_zero_amount() -> Amount: + return Amount(settings.TALER_CURRENCY) class BankAccount(models.Model): is_public = models.BooleanField(default=False) |