From 6ffe13ab29799787dd8bda203a09d2be64de3cc0 Mon Sep 17 00:00:00 2001 From: inso <insomniak.fr@gmaiL.com> Date: Wed, 23 Aug 2017 19:56:01 +0200 Subject: [PATCH] Fix pubkey matching --- src/sakia/gui/sub/transfer/controller.py | 13 ++++++++----- tests/functional/test_transfer_dialog.py | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/sakia/gui/sub/transfer/controller.py b/src/sakia/gui/sub/transfer/controller.py index fd9b3a10..723767d9 100644 --- a/src/sakia/gui/sub/transfer/controller.py +++ b/src/sakia/gui/sub/transfer/controller.py @@ -1,10 +1,11 @@ -import asyncio +import re import logging from PyQt5.QtCore import Qt, QObject, pyqtSignal from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout -from duniterpy.documents.crc_pubkey import CRCPubkey +from duniterpy.documents.constants import pubkey_regex +from duniterpy.documents import CRCPubkey from sakia.data.processors import ConnectionsProcessor from sakia.decorators import asyncify from sakia.gui.sub.password_input import PasswordInputController @@ -156,7 +157,7 @@ class TransferController(QObject): try: crc_pubkey = CRCPubkey.from_str(self.view.pubkey_value()) return crc_pubkey.is_valid() - except ValueError: + except AttributeError: return False else: return False @@ -183,8 +184,10 @@ class TransferController(QObject): crc_pubkey = CRCPubkey.from_str(self.view.pubkey_value()) if crc_pubkey.is_valid(): pubkey = crc_pubkey.pubkey - except ValueError: - pubkey = self.view.pubkey_value() + except AttributeError: + result = re.compile("^({0})$".format(pubkey_regex)).match(self.view.pubkey_value()) + if result: + pubkey = self.view.pubkey_value() return pubkey @asyncify diff --git a/tests/functional/test_transfer_dialog.py b/tests/functional/test_transfer_dialog.py index bdf91a23..29f2aa1e 100644 --- a/tests/functional/test_transfer_dialog.py +++ b/tests/functional/test_transfer_dialog.py @@ -32,5 +32,5 @@ async def test_transfer(application_with_one_connection, fake_server_with_blockc application_with_one_connection.loop.call_later(10, close_dialog) transfer_dialog.view.show() await exec_test() - close_dialog() - await fake_server_with_blockchain.close() + #close_dialog() + #await fake_server_with_blockchain.close() -- GitLab