Browse Source
kivy: fix crash in logging.py; platform.platform() not available
regtest_lnd
SomberNight
6 years ago
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
4 changed files with
16 additions and
16 deletions
-
electrum/base_crash_reporter.py
-
electrum/gui/kivy/uix/dialogs/crash_reporter.py
-
electrum/gui/qt/exception_window.py
-
electrum/logging.py
|
|
@ -31,6 +31,7 @@ from .version import ELECTRUM_VERSION |
|
|
|
from . import constants |
|
|
|
from .i18n import _ |
|
|
|
from .util import make_aiohttp_session |
|
|
|
from .logging import describe_os_version |
|
|
|
|
|
|
|
|
|
|
|
class BaseCrashReporter: |
|
|
@ -95,7 +96,7 @@ class BaseCrashReporter: |
|
|
|
args = { |
|
|
|
"app_version": ELECTRUM_VERSION, |
|
|
|
"python_version": sys.version, |
|
|
|
"os": self.get_os_version(), |
|
|
|
"os": describe_os_version(), |
|
|
|
"wallet_type": "unknown", |
|
|
|
"locale": locale.getdefaultlocale()[0] or "?", |
|
|
|
"description": self.get_user_description() |
|
|
@ -129,6 +130,3 @@ class BaseCrashReporter: |
|
|
|
|
|
|
|
def get_wallet_type(self): |
|
|
|
raise NotImplementedError |
|
|
|
|
|
|
|
def get_os_version(self): |
|
|
|
raise NotImplementedError |
|
|
|
|
|
@ -156,14 +156,6 @@ class CrashReporter(BaseCrashReporter, Factory.Popup): |
|
|
|
def get_wallet_type(self): |
|
|
|
return self.main_window.wallet.wallet_type |
|
|
|
|
|
|
|
def get_os_version(self): |
|
|
|
if utils.platform is not "android": |
|
|
|
return utils.platform |
|
|
|
import jnius |
|
|
|
bv = jnius.autoclass('android.os.Build$VERSION') |
|
|
|
b = jnius.autoclass('android.os.Build') |
|
|
|
return "Android {} on {} {} ({})".format(bv.RELEASE, b.BRAND, b.DEVICE, b.DISPLAY) |
|
|
|
|
|
|
|
|
|
|
|
class CrashReportDetails(Factory.Popup): |
|
|
|
def __init__(self, text): |
|
|
|
|
|
@ -124,9 +124,6 @@ class Exception_Window(BaseCrashReporter, QWidget, MessageBoxMixin, Logger): |
|
|
|
def get_wallet_type(self): |
|
|
|
return self.main_window.wallet.wallet_type |
|
|
|
|
|
|
|
def get_os_version(self): |
|
|
|
return platform.platform() |
|
|
|
|
|
|
|
|
|
|
|
def _show_window(*args): |
|
|
|
if not Exception_Window._active_window: |
|
|
|
|
|
@ -167,9 +167,22 @@ def configure_logging(config): |
|
|
|
|
|
|
|
from . import ELECTRUM_VERSION |
|
|
|
_logger.info(f"Electrum version: {ELECTRUM_VERSION} - https://electrum.org - https://github.com/spesmilo/electrum") |
|
|
|
_logger.info(f"Python version: {sys.version}. On platform: {platform.platform()}") |
|
|
|
_logger.info(f"Python version: {sys.version}. On platform: {describe_os_version()}") |
|
|
|
_logger.info(f"Logging to file: {str(_logfile_path)}") |
|
|
|
|
|
|
|
|
|
|
|
def get_logfile_path() -> Optional[pathlib.Path]: |
|
|
|
return _logfile_path |
|
|
|
|
|
|
|
|
|
|
|
def describe_os_version() -> str: |
|
|
|
if 'ANDROID_DATA' in os.environ: |
|
|
|
from kivy import utils |
|
|
|
if utils.platform is not "android": |
|
|
|
return utils.platform |
|
|
|
import jnius |
|
|
|
bv = jnius.autoclass('android.os.Build$VERSION') |
|
|
|
b = jnius.autoclass('android.os.Build') |
|
|
|
return "Android {} on {} {} ({})".format(bv.RELEASE, b.BRAND, b.DEVICE, b.DISPLAY) |
|
|
|
else: |
|
|
|
return platform.platform() |
|
|
|