From ef13359519d13cada5d62a463f0f3bbada8b0b93 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 23 May 2022 16:28:54 +0000 Subject: [PATCH] function rename: base_proto_tw_subclass() -> base_proto_subclass() --- mmgen/addrdata.py | 4 ++-- mmgen/main_addrimport.py | 2 +- mmgen/tw/addrs.py | 4 ++-- mmgen/tw/bal.py | 4 ++-- mmgen/tw/ctl.py | 4 ++-- mmgen/tw/unspent.py | 4 ++-- mmgen/util.py | 9 ++++++--- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/mmgen/addrdata.py b/mmgen/addrdata.py index d71dc1a0..34f74c6e 100755 --- a/mmgen/addrdata.py +++ b/mmgen/addrdata.py @@ -20,7 +20,7 @@ addrdata.py: MMGen AddrData and related classes """ -from .util import vmsg,base_proto_tw_subclass,fmt,die +from .util import vmsg,base_proto_subclass,fmt,die from .base_obj import AsyncInit from .obj import MMGenObject,MMGenDict,get_obj from .addr import MMGenID,AddrListID @@ -69,7 +69,7 @@ class AddrData(MMGenObject): class TwAddrData(AddrData,metaclass=AsyncInit): def __new__(cls,proto,*args,**kwargs): - return MMGenObject.__new__(base_proto_tw_subclass(cls,proto,'common')) + return MMGenObject.__new__(base_proto_subclass(cls,proto,'tw','common')) async def __init__(self,proto,wallet=None): from .rpc import rpc_init diff --git a/mmgen/main_addrimport.py b/mmgen/main_addrimport.py index d718db25..e6150ed7 100755 --- a/mmgen/main_addrimport.py +++ b/mmgen/main_addrimport.py @@ -163,7 +163,7 @@ def make_args_list(tw,al,batch,rescan): async def main(): from .tw.ctl import TrackingWallet if opt.token_addr: - proto.tokensym = 'foo' # hack to trigger 'Token' in base_proto_tw_subclass() + proto.tokensym = 'foo' # hack to trigger 'Token' in base_proto_subclass() tw = await TrackingWallet( proto = proto, diff --git a/mmgen/tw/addrs.py b/mmgen/tw/addrs.py index 2ae68108..b6d2be21 100755 --- a/mmgen/tw/addrs.py +++ b/mmgen/tw/addrs.py @@ -21,7 +21,7 @@ twaddrs: Tracking wallet listaddresses class for the MMGen suite """ from ..color import green -from ..util import msg,die,base_proto_tw_subclass +from ..util import msg,die,base_proto_subclass from ..base_obj import AsyncInit from ..obj import MMGenDict,TwComment from ..addr import CoinAddr,MMGenID @@ -30,7 +30,7 @@ from .common import TwCommon class TwAddrList(MMGenDict,TwCommon,metaclass=AsyncInit): def __new__(cls,proto,*args,**kwargs): - return MMGenDict.__new__(base_proto_tw_subclass(cls,proto,'addrs'),*args,**kwargs) + return MMGenDict.__new__(base_proto_subclass(cls,proto,'tw','addrs'),*args,**kwargs) def raw_list(self): return [((k if k.type == 'mmgen' else 'Non-MMGen'),self[k]['addr'],self[k]['amt']) for k in self] diff --git a/mmgen/tw/bal.py b/mmgen/tw/bal.py index 885ae9da..e2261734 100755 --- a/mmgen/tw/bal.py +++ b/mmgen/tw/bal.py @@ -21,7 +21,7 @@ twbal: Tracking wallet getbalance class for the MMGen suite """ from ..color import red,green -from ..util import base_proto_tw_subclass +from ..util import base_proto_subclass from ..base_obj import AsyncInit from ..objmethods import MMGenObject from ..rpc import rpc_init @@ -29,7 +29,7 @@ from ..rpc import rpc_init class TwGetBalance(MMGenObject,metaclass=AsyncInit): def __new__(cls,proto,*args,**kwargs): - return MMGenObject.__new__(base_proto_tw_subclass(cls,proto,'bal')) + return MMGenObject.__new__(base_proto_subclass(cls,proto,'tw','bal')) async def __init__(self,proto,minconf,quiet): diff --git a/mmgen/tw/ctl.py b/mmgen/tw/ctl.py index 60998933..48dbb3ea 100755 --- a/mmgen/tw/ctl.py +++ b/mmgen/tw/ctl.py @@ -21,7 +21,7 @@ twctl: Tracking wallet control class for the MMGen suite """ from ..globalvars import g -from ..util import msg,dmsg,write_mode,base_proto_tw_subclass,die +from ..util import msg,dmsg,write_mode,base_proto_subclass,die from ..base_obj import AsyncInit from ..objmethods import MMGenObject from ..obj import TwComment,get_obj @@ -38,7 +38,7 @@ class TrackingWallet(MMGenObject,metaclass=AsyncInit): importing = False def __new__(cls,proto,*args,**kwargs): - return MMGenObject.__new__(base_proto_tw_subclass(cls,proto,'ctl')) + return MMGenObject.__new__(base_proto_subclass(cls,proto,'tw','ctl')) async def __init__(self,proto,mode='r',token_addr=None): diff --git a/mmgen/tw/unspent.py b/mmgen/tw/unspent.py index 73d32d35..2defef1f 100755 --- a/mmgen/tw/unspent.py +++ b/mmgen/tw/unspent.py @@ -33,7 +33,7 @@ from ..util import ( fmt, keypress_confirm, line_input, - base_proto_tw_subclass + base_proto_subclass ) from ..base_obj import AsyncInit from ..objmethods import MMGenObject @@ -45,7 +45,7 @@ from .common import TwCommon,TwMMGenID,get_tw_label class TwUnspentOutputs(MMGenObject,TwCommon,metaclass=AsyncInit): def __new__(cls,proto,*args,**kwargs): - return MMGenObject.__new__(base_proto_tw_subclass(cls,proto,'unspent')) + return MMGenObject.__new__(base_proto_subclass(cls,proto,'tw','unspent')) txid_w = 64 print_hdr_fs = '{a} (block #{b}, {c} UTC)\n{d}Sort order: {e}\n{f}\n\nTotal {g}: {h}\n' diff --git a/mmgen/util.py b/mmgen/util.py index e4ef8171..a607e41e 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -650,18 +650,21 @@ def get_subclasses(cls,names=False): yield j return tuple((c.__name__ for c in gen(cls)) if names else gen(cls)) -def base_proto_tw_subclass(cls,proto,modname): +def base_proto_subclass(cls,proto,subdir,modname): """ magic module loading and class selection """ - modname = f'mmgen.base_proto.{proto.base_proto.lower()}.tw.{modname}' + modpath = 'mmgen.base_proto.{}.{}{}'.format( + proto.base_proto.lower(), + subdir + '.' if subdir else '', + modname ) clsname = ( proto.mod_clsname + ('Token' if proto.tokensym else '') + cls.__name__ ) import importlib - return getattr(importlib.import_module(modname),clsname) + return getattr(importlib.import_module(modpath),clsname) # decorator for TrackingWallet def write_mode(orig_func):