util.py: relocate write_mode() decorator to tw/ctl.py

This commit is contained in:
The MMGen Project 2022-10-17 18:37:22 +00:00
commit 59e1bd0829
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
4 changed files with 15 additions and 16 deletions

View file

@ -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):

View file

@ -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

View file

@ -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')

View file

@ -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():