gnunet-svn
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]