[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-bank] 01/02: typing models
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-bank] 01/02: typing models |
Date: |
Wed, 06 Dec 2017 17:52:15 +0100 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository bank.
commit e10115be96dfcbbfae2c0d004e5498a224ba9a3b
Author: Marcello Stanisci <address@hidden>
AuthorDate: Wed Dec 6 12:12:12 2017 +0100
typing models
---
talerbank/app/models.py | 18 ++++++++++--------
talerbank/app/types.py | 4 ++++
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/talerbank/app/models.py b/talerbank/app/models.py
index 7ec54cb..97da159 100644
--- a/talerbank/app/models.py
+++ b/talerbank/app/models.py
@@ -16,47 +16,49 @@
# @author Florian Dold
from __future__ import unicode_literals
+from typing import Any, Tuple
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
class AmountField(models.Field):
description = 'Amount object in Taler style'
- def deconstruct(self):
+ def deconstruct(self) -> Tuple[str, str, list, dict]:
name, path, args, kwargs = super(AmountField, self).deconstruct()
return name, path, args, kwargs
- def db_type(self, connection):
+ def db_type(self, connection: Any) -> str:
return "varchar"
# Pass stringified object to db connector
- def get_prep_value(self, value):
+ def get_prep_value(self, value: TA) -> str:
if not value:
return "%s:0.0" % settings.TALER_CURRENCY
return value.stringify(settings.TALER_DIGITS)
@staticmethod
- def from_db_value(value, *args):
+ def from_db_value(value: str, *args) -> TA:
del args # pacify PEP checkers
- if None is value:
+ if value is None:
return amount.Amount.parse(settings.TALER_CURRENCY)
return amount.Amount.parse(value)
- def to_python(self, value):
+ def to_python(self, value: Any) -> TA:
if isinstance(value, amount.Amount):
return value
try:
- if None is value:
+ if value is None:
return amount.Amount.parse(settings.TALER_CURRENCY)
return amount.Amount.parse(value)
except amount.BadFormatAmount:
raise ValidationError("Invalid input for an amount string: %s" %
value)
-def get_zero_amount():
+def get_zero_amount() -> TA:
return amount.Amount(settings.TALER_CURRENCY)
class BankAccount(models.Model):
diff --git a/talerbank/app/types.py b/talerbank/app/types.py
new file mode 100644
index 0000000..d103340
--- /dev/null
+++ b/talerbank/app/types.py
@@ -0,0 +1,4 @@
+from typing import TypeVar
+from .amount import Amount
+
+TA = TypeVar('TA', Amount)
--
To stop receiving notification emails like this one, please contact
address@hidden