tWhitelist classes in verbose (-v) option - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 780b2d067c1ade3575e9511e9e3c71a4a39f50c2
DIR parent 8f17f38b02406ff4f90940ea66dda4b5f93bf227
HTML Author: Janus <ysangkok@gmail.com>
Date: Wed, 18 Jul 2018 13:31:41 +0200
Whitelist classes in verbose (-v) option
Diffstat:
M electrum/commands.py | 2 +-
M electrum/interface.py | 1 +
M electrum/network.py | 1 +
M electrum/plugin.py | 1 +
M electrum/util.py | 16 +++++++++-------
M electrum/wallet.py | 1 +
M run_electrum | 4 ++--
7 files changed, 16 insertions(+), 10 deletions(-)
---
DIR diff --git a/electrum/commands.py b/electrum/commands.py
t@@ -829,7 +829,7 @@ def add_network_options(parser):
def add_global_options(parser):
group = parser.add_argument_group('global options')
- group.add_argument("-v", "--verbose", action="store_true", dest="verbose", default=False, help="Show debugging information")
+ group.add_argument("-v", "--verbosity", dest="verbosity", default='', help="Set verbosity filter")
group.add_argument("-D", "--dir", dest="electrum_path", help="electrum directory")
group.add_argument("-P", "--portable", action="store_true", dest="portable", default=False, help="Use local 'electrum_data' directory")
group.add_argument("-w", "--wallet", dest="wallet_path", help="wallet path")
DIR diff --git a/electrum/interface.py b/electrum/interface.py
t@@ -59,6 +59,7 @@ def Connection(server, queue, config_path):
class TcpConnection(threading.Thread, util.PrintError):
+ verbosity_filter = 'i'
def __init__(self, server, queue, config_path):
threading.Thread.__init__(self)
DIR diff --git a/electrum/network.py b/electrum/network.py
t@@ -170,6 +170,7 @@ class Network(util.DaemonThread):
get_parameters(), get_server_height(), get_status_value(),
is_connected(), set_parameters(), stop()
"""
+ verbosity_filter = 'n'
def __init__(self, config=None):
if config is None:
DIR diff --git a/electrum/plugin.py b/electrum/plugin.py
t@@ -43,6 +43,7 @@ hooks = {}
class Plugins(DaemonThread):
+ verbosity_filter = 'p'
@profiler
def __init__(self, config, is_local, gui_name):
DIR diff --git a/electrum/util.py b/electrum/util.py
t@@ -164,12 +164,14 @@ class MyEncoder(json.JSONEncoder):
class PrintError(object):
'''A handy base class'''
+ verbosity_filter = ''
+
def diagnostic_name(self):
return self.__class__.__name__
def print_error(self, *msg):
- # only prints with --verbose flag
- print_error("[%s]" % self.diagnostic_name(), *msg)
+ if self.verbosity_filter in verbosity:
+ print_stderr("[%s]" % self.diagnostic_name(), *msg)
def print_stderr(self, *msg):
print_stderr("[%s]" % self.diagnostic_name(), *msg)
t@@ -213,6 +215,7 @@ class DebugMem(ThreadJob):
class DaemonThread(threading.Thread, PrintError):
""" daemon thread that terminates cleanly """
+ verbosity_filter = 'd'
def __init__(self):
threading.Thread.__init__(self)
t@@ -263,15 +266,14 @@ class DaemonThread(threading.Thread, PrintError):
self.print_error("stopped")
-# TODO: disable
-is_verbose = True
+verbosity = ''
def set_verbosity(b):
- global is_verbose
- is_verbose = b
+ global verbosity
+ verbosity = b
def print_error(*args):
- if not is_verbose: return
+ if not verbosity: return
print_stderr(*args)
def print_stderr(*args):
DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
t@@ -165,6 +165,7 @@ class Abstract_Wallet(AddressSynchronizer):
max_change_outputs = 3
gap_limit_for_change = 6
+ verbosity_filter = 'w'
def __init__(self, storage):
AddressSynchronizer.__init__(self, storage)
DIR diff --git a/run_electrum b/run_electrum
t@@ -355,7 +355,7 @@ if __name__ == '__main__':
# config is an object passed to the various constructors (wallet, interface, gui)
if is_android:
config_options = {
- 'verbose': True,
+ 'verbosity': '',
'cmd': 'gui',
'gui': 'kivy',
}
t@@ -376,7 +376,7 @@ if __name__ == '__main__':
config_options['electrum_path'] = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'electrum_data')
# kivy sometimes freezes when we write to sys.stderr
- set_verbosity(config_options.get('verbose') and config_options.get('gui')!='kivy')
+ set_verbosity(config_options.get('verbosity') if config_options.get('gui') != 'kivy' else '')
# check uri
uri = config_options.get('url')