Skip to content

Commit

Permalink
De-duplicate and change dict_factory
Browse files Browse the repository at this point in the history
  • Loading branch information
kristapsk committed Jan 2, 2024
1 parent e87dccc commit 2978b18
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 17 deletions.
2 changes: 1 addition & 1 deletion src/jmbase/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
EXIT_SUCCESS, hexbin, dictchanger, listchanger,
JM_WALLET_NAME_PREFIX, JM_APP_NAME,
IndentedHelpFormatterWithNL, wrapped_urlparse,
bdict_sdict_convert, random_insert)
bdict_sdict_convert, random_insert, dict_factory)
from .proof_of_work import get_pow, verify_pow
from .twisted_utils import (stop_reactor, is_hs_uri, get_tor_agent,
get_nontor_agent, JMHiddenService,
Expand Down
5 changes: 5 additions & 0 deletions src/jmbase/support.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from os import path, environ
from functools import wraps
from optparse import IndentedHelpFormatter
from sqlite3 import Cursor, Row
from typing import List
import urllib.parse as urlparse

Expand Down Expand Up @@ -356,3 +357,7 @@ def get_free_tcp_ports(num_ports: int) -> List[int]:
for s in sockets:
s.close()
return ports

def dict_factory(cursor: Cursor, row: Row) -> dict:
fields = [column[0] for column in cursor.description]
return {key: value for key, value in zip(fields, row)}
9 changes: 1 addition & 8 deletions src/jmclient/wallet_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from jmclient.wallet_service import WalletService
from jmbase.support import (get_password, jmprint, EXIT_FAILURE,
EXIT_ARGERROR, utxo_to_utxostr, hextobin, bintohex,
IndentedHelpFormatterWithNL)
IndentedHelpFormatterWithNL, dict_factory)

from .cryptoengine import TYPE_P2PKH, TYPE_P2SH_P2WPKH, TYPE_P2WPKH, \
TYPE_SEGWIT_WALLET_FIDELITY_BONDS
Expand Down Expand Up @@ -815,13 +815,6 @@ def wallet_change_passphrase(walletservice,
return True


def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d


def wallet_fetch_history(wallet, options):
# sort txes in a db because python can be really bad with large lists
con = sqlite3.connect(":memory:")
Expand Down
9 changes: 1 addition & 8 deletions src/jmdaemon/orderbookwatch.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,10 @@

from jmdaemon.protocol import JM_VERSION
from jmdaemon import fidelity_bond_sanity_check
from jmbase.support import get_log, joinmarket_alert
from jmbase.support import dict_factory, get_log, joinmarket_alert
log = get_log()


def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d


class JMTakerError(Exception):
pass

Expand Down

0 comments on commit 2978b18

Please sign in to comment.