From af4bfbfda7498f903bc5ec5dca77ccc7744aefd1 Mon Sep 17 00:00:00 2001 From: Peter Surda Date: Sun, 31 May 2026 23:29:04 +0900 Subject: [PATCH] Code quality - refactoring - autodetect Qt tests - remove obsolete code --- src/bitmessageqt/__init__.py | 7 +- src/bitmessageqt/migrationwizard.py | 87 ------------------- src/bitmessageqt/networkstatus.py | 16 ++-- src/bitmessageqt/tests/__init__.py | 17 ---- .../{addressbook.py => test_addressbook.py} | 2 +- .../tests/{main.py => test_main.py} | 0 .../tests/{settings.py => test_settings.py} | 2 +- .../tests/{support.py => test_support.py} | 2 +- src/tests/core.py | 6 +- 9 files changed, 20 insertions(+), 119 deletions(-) delete mode 100644 src/bitmessageqt/migrationwizard.py rename src/bitmessageqt/tests/{addressbook.py => test_addressbook.py} (89%) rename src/bitmessageqt/tests/{main.py => test_main.py} (100%) rename src/bitmessageqt/tests/{settings.py => test_settings.py} (98%) rename src/bitmessageqt/tests/{support.py => test_support.py} (94%) diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py index 4247da0f5..da3d36e07 100644 --- a/src/bitmessageqt/__init__.py +++ b/src/bitmessageqt/__init__.py @@ -33,7 +33,6 @@ from bmconfigparser import config import namecoin from messageview import MessageView -from migrationwizard import Ui_MigrationWizard from foldertree import ( AccountMixin, Ui_FolderWidget, Ui_AddressWidget, Ui_SubscriptionWidget, MessageList_AddressWidget, MessageList_SubjectWidget, @@ -4296,7 +4295,8 @@ def __init__(self, *argv): # for whenever a second instance tries to run focus the application. self.server = QLocalServer() self.server.listen(self.UUID) - self.server.newConnection.connect(self.on_new_connection) + self.server.newConnection.connect( + BitmessageQtApplication.on_new_connection) self.setStyleSheet("QStatusBar::item { border: 0px solid black }") @@ -4304,7 +4304,8 @@ def __del__(self): if self.server: self.server.close() - def on_new_connection(self): # pylint: disable=no-self-use + @staticmethod + def on_new_connection(): if myapp: myapp.appIndicatorShow() diff --git a/src/bitmessageqt/migrationwizard.py b/src/bitmessageqt/migrationwizard.py deleted file mode 100644 index d5ba0d3dd..000000000 --- a/src/bitmessageqt/migrationwizard.py +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env python2.7 -from PyQt4 import QtGui # pylint: disable=import-error - - -class MigrationWizardIntroPage(QtGui.QWizardPage): - def __init__(self): - super(QtGui.QWizardPage, self).__init__() - self.setTitle("Migrating configuration") - - label = QtGui.QLabel("This wizard will help you to migrate your configuration. " - "You can still keep using PyBitmessage once you migrate, " - "the changes are backwards compatible.") - label.setWordWrap(True) - - layout = QtGui.QVBoxLayout() - layout.addWidget(label) - self.setLayout(layout) - - def nextId(self): # pylint: disable=no-self-use - return 1 - - -class MigrationWizardAddressesPage(QtGui.QWizardPage): - def __init__(self, addresses): # pylint: disable=unused-argument - super(QtGui.QWizardPage, self).__init__() - self.setTitle("Addresses") - - label = QtGui.QLabel("Please select addresses that you are already using with mailchuck. ") - label.setWordWrap(True) - - layout = QtGui.QVBoxLayout() - layout.addWidget(label) - self.setLayout(layout) - - def nextId(self): # pylint: disable=no-self-use - return 10 - - -class MigrationWizardGPUPage(QtGui.QWizardPage): - def __init__(self): - super(QtGui.QWizardPage, self).__init__() - self.setTitle("GPU") - - label = QtGui.QLabel("Are you using a GPU? ") - label.setWordWrap(True) - - layout = QtGui.QVBoxLayout() - layout.addWidget(label) - self.setLayout(layout) - - def nextId(self): # pylint: disable=no-self-use - return 10 - - -class MigrationWizardConclusionPage(QtGui.QWizardPage): - def __init__(self): - super(QtGui.QWizardPage, self).__init__() - self.setTitle("All done!") - - label = QtGui.QLabel("You successfully migrated.") - label.setWordWrap(True) - - layout = QtGui.QVBoxLayout() - layout.addWidget(label) - self.setLayout(layout) - - -class Ui_MigrationWizard(QtGui.QWizard): - # pylint: disable=redefined-variable-type - def __init__(self, addresses): - super(QtGui.QWizard, self).__init__() - - self.pages = {} - - page = MigrationWizardIntroPage() - self.setPage(0, page) - self.setStartId(0) - page = MigrationWizardAddressesPage(addresses) - self.setPage(1, page) - page = MigrationWizardGPUPage() - self.setPage(2, page) - page = MigrationWizardConclusionPage() - self.setPage(10, page) - - self.setWindowTitle("Migration from PyBitMessage wizard") - self.adjustSize() - self.show() diff --git a/src/bitmessageqt/networkstatus.py b/src/bitmessageqt/networkstatus.py index f0ba01bdb..79b36fd2b 100644 --- a/src/bitmessageqt/networkstatus.py +++ b/src/bitmessageqt/networkstatus.py @@ -57,9 +57,9 @@ def stopUpdate(self): """Stop counter update timer""" self.timer.stop() - def formatBytes(self, num): + @staticmethod + def formatBytes(num): """Format bytes nicely (SI prefixes)""" - # pylint: disable=no-self-use for x in [ _translate( "networkstatus", @@ -76,9 +76,9 @@ def formatBytes(self, num): num /= 1000.0 return "%3.0f %s" % (num, 'TB') - def formatByteRate(self, num): + @staticmethod + def formatByteRate(num): """Format transfer speed in kB/s""" - # pylint: disable=no-self-use num /= 1000 return "%4.0f kB" % num @@ -135,13 +135,13 @@ def updateNumberOfBytes(self): _translate( "networkstatus", "Down: %1/s Total: %2").arg( - self.formatByteRate(network.stats.downloadSpeed()), - self.formatBytes(network.stats.receivedBytes()))) + NetworkStatus.formatByteRate(network.stats.downloadSpeed()), + NetworkStatus.formatBytes(network.stats.receivedBytes()))) self.labelBytesSentCount.setText( _translate( "networkstatus", "Up: %1/s Total: %2").arg( - self.formatByteRate(network.stats.uploadSpeed()), - self.formatBytes(network.stats.sentBytes()))) + NetworkStatus.formatByteRate(network.stats.uploadSpeed()), + NetworkStatus.formatBytes(network.stats.sentBytes()))) def updateNetworkStatusTab(self, outbound, add, destination): """Add or remove an entry to the list of connected peers""" diff --git a/src/bitmessageqt/tests/__init__.py b/src/bitmessageqt/tests/__init__.py index 27189e7a2..df98a9652 100644 --- a/src/bitmessageqt/tests/__init__.py +++ b/src/bitmessageqt/tests/__init__.py @@ -1,18 +1 @@ """bitmessageqt tests""" - -from .addressbook import TestAddressbook -from .main import TestMain, TestUISignaler -from .settings import TestSettings -from .support import TestSupport -from .test_import import TestImports -from .test_startup import TestStartup -from .test_widgets import ( - TestAddressValidator, TestLanguageBox, TestMessageView, - TestSafeHTMLParser -) - -__all__ = [ - "TestAddressbook", "TestAddressValidator", "TestLanguageBox", - "TestImports", "TestMain", "TestMessageView", "TestSafeHTMLParser", - "TestSettings", "TestStartup", "TestSupport", "TestUISignaler" -] diff --git a/src/bitmessageqt/tests/addressbook.py b/src/bitmessageqt/tests/test_addressbook.py similarity index 89% rename from src/bitmessageqt/tests/addressbook.py rename to src/bitmessageqt/tests/test_addressbook.py index 8289ca825..f97dd2979 100644 --- a/src/bitmessageqt/tests/addressbook.py +++ b/src/bitmessageqt/tests/test_addressbook.py @@ -4,7 +4,7 @@ import helper_addressbook from bitmessageqt.support import createAddressIfNeeded -from main import TestBase # pylint: disable=no-name-in-module +from .test_main import TestBase class TestAddressbook(TestBase): diff --git a/src/bitmessageqt/tests/main.py b/src/bitmessageqt/tests/test_main.py similarity index 100% rename from src/bitmessageqt/tests/main.py rename to src/bitmessageqt/tests/test_main.py diff --git a/src/bitmessageqt/tests/settings.py b/src/bitmessageqt/tests/test_settings.py similarity index 98% rename from src/bitmessageqt/tests/settings.py rename to src/bitmessageqt/tests/test_settings.py index 577d71a89..4f2244799 100644 --- a/src/bitmessageqt/tests/settings.py +++ b/src/bitmessageqt/tests/test_settings.py @@ -8,7 +8,7 @@ from bmconfigparser import config from bitmessageqt import settings -from .main import TestBase +from .test_main import TestBase class TestSettings(TestBase): diff --git a/src/bitmessageqt/tests/support.py b/src/bitmessageqt/tests/test_support.py similarity index 94% rename from src/bitmessageqt/tests/support.py rename to src/bitmessageqt/tests/test_support.py index be5fb7a11..84b863cac 100644 --- a/src/bitmessageqt/tests/support.py +++ b/src/bitmessageqt/tests/test_support.py @@ -5,7 +5,7 @@ import sys -from main import TestBase # pylint: disable=no-name-in-module +from .test_main import TestBase from shared import isAddressInMyAddressBook diff --git a/src/tests/core.py b/src/tests/core.py index 585850514..a40bc8f36 100644 --- a/src/tests/core.py +++ b/src/tests/core.py @@ -422,7 +422,11 @@ def run(): except ImportError: Xvfb = None else: - qt_tests = loader.loadTestsFromModule(bitmessageqt.tests) + qt_test_dir = os.path.dirname(bitmessageqt.tests.__file__) + qt_tests = loader.discover( + qt_test_dir, + top_level_dir=os.path.dirname( + os.path.dirname(qt_test_dir))) suite.addTests(qt_tests) def keep_exc(ex_cls, exc, tb): # pylint: disable=unused-argument