summaryrefslogtreecommitdiff
path: root/talerbank/app/models.py
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2017-12-06 17:51:55 +0100
committerMarcello Stanisci <stanisci.m@gmail.com>2017-12-06 17:51:55 +0100
commit4efff7788f052cfdd2949af9198eb2c18a4cd4e8 (patch)
tree04cf19060f3c3d029af5290e2165b0b33432c695 /talerbank/app/models.py
parente10115be96dfcbbfae2c0d004e5498a224ba9a3b (diff)
downloadbank-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.py25
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)