From 59e1bd0829d32431e81699854ccb44a90b706b57 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 17 Oct 2022 18:37:22 +0000 Subject: [PATCH] util.py: relocate write_mode() decorator to tw/ctl.py --- mmgen/proto/btc/tw/ctl.py | 4 ++-- mmgen/proto/eth/tw/ctl.py | 4 ++-- mmgen/tw/ctl.py | 12 +++++++++++- mmgen/util.py | 11 ----------- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/mmgen/proto/btc/tw/ctl.py b/mmgen/proto/btc/tw/ctl.py index 5d5b8386..b127968f 100755 --- a/mmgen/proto/btc/tw/ctl.py +++ b/mmgen/proto/btc/tw/ctl.py @@ -13,8 +13,8 @@ proto.btc.twctl: Bitcoin base protocol tracking wallet control class """ from ....globalvars import g -from ....tw.ctl import TrackingWallet -from ....util import msg,msg_r,rmsg,vmsg,die,suf,fmt_list,write_mode +from ....tw.ctl import TrackingWallet,write_mode +from ....util import msg,msg_r,rmsg,vmsg,die,suf,fmt_list class BitcoinTrackingWallet(TrackingWallet): diff --git a/mmgen/proto/eth/tw/ctl.py b/mmgen/proto/eth/tw/ctl.py index 47957b05..b4683380 100755 --- a/mmgen/proto/eth/tw/ctl.py +++ b/mmgen/proto/eth/tw/ctl.py @@ -20,8 +20,8 @@ proto.eth.twctl: Ethereum tracking wallet control class """ -from ....util import msg,ymsg,write_mode,die -from ....tw.ctl import TrackingWallet +from ....util import msg,ymsg,die +from ....tw.ctl import TrackingWallet,write_mode from ....addr import is_coin_addr,is_mmgen_id from ....amt import ETHAmt from ..contract import Token,TokenResolve diff --git a/mmgen/tw/ctl.py b/mmgen/tw/ctl.py index abc1fa51..a5baf9ae 100755 --- a/mmgen/tw/ctl.py +++ b/mmgen/tw/ctl.py @@ -30,7 +30,6 @@ from ..util import ( qmsg, dmsg, suf, - write_mode, die ) from ..base_obj import AsyncInit from ..objmethods import MMGenObject @@ -39,6 +38,17 @@ from ..addr import CoinAddr,is_mmgen_id,is_coin_addr from ..rpc import rpc_init from .common import TwMMGenID,TwLabel +# decorator for TrackingWallet +def write_mode(orig_func): + def f(self,*args,**kwargs): + if self.mode != 'w': + die(1,'{} opened in read-only mode: cannot execute method {}()'.format( + type(self).__name__, + locals()['orig_func'].__name__ + )) + return orig_func(self,*args,**kwargs) + return f + class TrackingWallet(MMGenObject,metaclass=AsyncInit): caps = ('rescan','batch') diff --git a/mmgen/util.py b/mmgen/util.py index 1027ada5..0c4dbae7 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -672,17 +672,6 @@ def get_subclasses(cls,names=False): yield j return tuple((c.__name__ for c in gen(cls)) if names else gen(cls)) -# decorator for TrackingWallet -def write_mode(orig_func): - def f(self,*args,**kwargs): - if self.mode != 'w': - die(1,'{} opened in read-only mode: cannot execute method {}()'.format( - type(self).__name__, - locals()['orig_func'].__name__ - )) - return orig_func(self,*args,**kwargs) - return f - def run_session(callback,backend=None): async def do():