gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-bank] branch master updated: extracting reserve pub


From: gnunet
Subject: [taler-bank] branch master updated: extracting reserve pub
Date: Tue, 28 Jul 2020 14:11:45 +0200

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository bank.

The following commit(s) were added to refs/heads/master by this push:
     new 9fb5f40  extracting reserve pub
9fb5f40 is described below

commit 9fb5f40a5a52d11dc6caeaa3b4c799ccb45a5f16
Author: MS <ms@taler.net>
AuthorDate: Tue Jul 28 14:11:41 2020 +0200

    extracting reserve pub
---
 talerbank/app/tests.py |  7 ++++++-
 talerbank/app/views.py | 11 ++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/talerbank/app/tests.py b/talerbank/app/tests.py
index 8d2ab80..4593831 100644
--- a/talerbank/app/tests.py
+++ b/talerbank/app/tests.py
@@ -33,7 +33,7 @@ from django.contrib.auth.models import User
 from mock import patch, MagicMock
 from .models import BankAccount, BankTransaction
 from . import urls
-from .views import wire_transfer
+from .views import wire_transfer, get_reserve_pub
 from taler.util.amount import (
     Amount,
     SignedAmount,
@@ -64,6 +64,11 @@ def clear_db():
         cursor.execute("ALTER SEQUENCE app_bankaccount_account_no_seq" " 
RESTART")
         cursor.execute("ALTER SEQUENCE app_banktransaction_id_seq RESTART")
 
+class ReservePubExtractionTestCase(TestCase):
+    def test_extraction(self):
+        
self.assertTrue(get_reserve_pub("0T096A11M57GWGG0P6ZM9Z8G5829BFJFH2AN9R5T80FJ931DX7GG"))
+        
self.assertTrue(get_reserve_pub("0T096A11M57GWGG0P6ZM9Z8G5829BFJFH2AN9R5T80FJ931DX7GG
 other data"))
+        self.assertFalse(get_reserve_pub("not a reserve public key"))
 
 class PublicAccountsTestCase(TestCase):
     def setUp(self):
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index 261dd17..f4c28ec 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -858,6 +858,13 @@ def get_payto_from_account(request, acct):
     h = get_plain_host(request)
     return f"payto://x-taler-bank/{h}/{acct.user.username}"
 
+def get_reserve_pub(subject):
+    # obey to regex: \\b[a-z0-9A-Z]{52}\\b
+    regex = re.compile(r"\b[a-z0-9A-Z]{52}\b")
+    ret = regex.search(subject)
+    if ret:
+        return ret.group(0)
+    return None
 
 @require_GET
 @login_via_headers
@@ -871,12 +878,14 @@ def twg_history_incoming(request, user_account, acct_id):
         start = int(start_str)
     qs = query_history(user_account.bankaccount, "credit", delta, start,)
     for item in qs:
+        if not get_reserve_pub(item.subject):
+            continue
         history.append(
             dict(
                 row_id=item.id,
                 amount=item.amount.stringify(settings.TALER_DIGITS),
                 date=dict(t_ms=(int(item.date.timestamp()) * 1000)),
-                reserve_pub=item.subject,  # fixme: parse/truncate?
+                reserve_pub=get_reserve_pub(item.subject),
                 credit_account=get_payto_from_account(request, 
item.credit_account),
                 debit_account=get_payto_from_account(request, 
item.debit_account),
             )

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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