You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.0 KiB
73 lines
2.0 KiB
from __future__ import absolute_import, print_function |
|
|
|
import sys |
|
|
|
import logging |
|
import pprint |
|
import random |
|
from getpass import getpass |
|
|
|
logFormatter = logging.Formatter( |
|
"%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s") |
|
log = logging.getLogger('joinmarket') |
|
log.setLevel(logging.DEBUG) |
|
|
|
joinmarket_alert = [''] |
|
core_alert = [''] |
|
debug_silence = [False] |
|
|
|
#TODO pass this through from client, bitcoin paramater: |
|
DUST_THRESHOLD = 2730 |
|
|
|
#consoleHandler = logging.StreamHandler(stream=sys.stdout) |
|
class JoinMarketStreamHandler(logging.StreamHandler): |
|
|
|
def __init__(self, stream): |
|
super(JoinMarketStreamHandler, self).__init__(stream) |
|
|
|
def emit(self, record): |
|
if joinmarket_alert[0]: |
|
print('JoinMarket Alert Message: ' + joinmarket_alert[0]) |
|
if core_alert[0]: |
|
print('Core Alert Message: ' + core_alert[0]) |
|
if not debug_silence[0]: |
|
super(JoinMarketStreamHandler, self).emit(record) |
|
|
|
|
|
consoleHandler = JoinMarketStreamHandler(stream=sys.stdout) |
|
consoleHandler.setFormatter(logFormatter) |
|
log.addHandler(consoleHandler) |
|
|
|
log.debug('hello joinmarket') |
|
|
|
|
|
def get_log(): |
|
""" |
|
provides joinmarket logging instance |
|
:return: log instance |
|
""" |
|
return log |
|
|
|
def chunks(d, n): |
|
return [d[x:x + n] for x in xrange(0, len(d), n)] |
|
|
|
def get_password(msg): #pragma: no cover |
|
return getpass(msg) |
|
|
|
def debug_dump_object(obj, skip_fields=None): |
|
if skip_fields is None: |
|
skip_fields = [] |
|
log.debug('Class debug dump, name:' + obj.__class__.__name__) |
|
for k, v in obj.__dict__.iteritems(): |
|
if k in skip_fields: |
|
continue |
|
if k == 'password' or k == 'given_password': |
|
continue |
|
log.debug('key=' + k) |
|
if isinstance(v, str): |
|
log.debug('string: len:' + str(len(v))) |
|
log.debug(v) |
|
elif isinstance(v, dict) or isinstance(v, list): |
|
log.debug(pprint.pformat(v)) |
|
else: |
|
log.debug(str(v))
|
|
|