diff options
Diffstat (limited to 'talerbank/app')
-rw-r--r-- | talerbank/app/management/commands/wire_transfer_payto.py | 3 | ||||
m--------- | talerbank/app/static/web-common | 0 | ||||
-rw-r--r-- | talerbank/app/tests.py | 3 | ||||
-rw-r--r-- | talerbank/app/views.py | 22 |
4 files changed, 5 insertions, 23 deletions
diff --git a/talerbank/app/management/commands/wire_transfer_payto.py b/talerbank/app/management/commands/wire_transfer_payto.py index 460235c..3b7b3a8 100644 --- a/talerbank/app/management/commands/wire_transfer_payto.py +++ b/talerbank/app/management/commands/wire_transfer_payto.py @@ -25,7 +25,8 @@ import json from django.core.management.base import BaseCommand from django.contrib.auth import authenticate from taler.util.amount import Amount, AmountFormatError -from ...views import wire_transfer, User, PaytoParse, PaytoFormatError +from taler.util.payto import PaytoParse, PaytoFormatError +from ...views import wire_transfer, User from ...models import BankAccount, BankTransaction LOGGER = logging.getLogger(__name__) diff --git a/talerbank/app/static/web-common b/talerbank/app/static/web-common -Subproject eaefc57f2ea5434ad6b7f1c11ee4daa0fc92c76 +Subproject 2457613ecc8b8971bd47119b1a02a2f290bb483 diff --git a/talerbank/app/tests.py b/talerbank/app/tests.py index a3df49d..d65ce77 100644 --- a/talerbank/app/tests.py +++ b/talerbank/app/tests.py @@ -34,7 +34,8 @@ from django.contrib.auth.models import User from mock import patch, MagicMock from .models import BankAccount, BankTransaction, TalerWithdrawOperation from . import urls -from .views import wire_transfer, get_reserve_pub, PaytoParse, PaytoFormatError +from .views import wire_transfer, get_reserve_pub +from taler.util.payto import PaytoParse, PaytoFormatError from taler.util.amount import ( Amount, SignedAmount, diff --git a/talerbank/app/views.py b/talerbank/app/views.py index 7177d7f..0c92362 100644 --- a/talerbank/app/views.py +++ b/talerbank/app/views.py @@ -49,6 +49,7 @@ from django.core.exceptions import ObjectDoesNotExist from datetime import datetime from .models import BankAccount, BankTransaction, TalerWithdrawOperation from taler.util.amount import Amount, SignedAmount +from taler.util.payto import PaytoParse from taler.util.taler_error_codes import ErrorCode from http import HTTPStatus @@ -99,27 +100,6 @@ def allow_origin_star(view_func): return wraps(view_func)(_decorator) -class PaytoFormatError(Exception): - def __init__(self, msg): - super(PaytoFormatError, self).__init__(msg) - self.msg = msg - -class PaytoParse: - def __init__(self, payto_uri): - obj = urlparse(payto_uri) - path = obj.path.split("/") - if obj.scheme != "payto" or \ - len(path) != 3 or \ - not obj.netloc or \ - not re.match("^payto://", payto_uri): - raise PaytoFormatError(f"Bad Payto URI: {payto_uri}") - self.target = path.pop() - self.bank = path.pop() - self.authority = obj.netloc - params = dict(parse_qsl(obj.query)) - self.message = params.get("message") - self.amount = Amount.parse(params.get("amount")) if "amount" in params else None - ## # Exception raised upon failing login. # |