Browse Source

opts.init() -> Config()

The MMGen Project 1 year ago
parent
commit
9e1935ad19

+ 2 - 2
examples/halving-calculator.py

@@ -14,7 +14,7 @@ examples.halving-calculator.py: Demonstrate use of the MMGen asyncio/aiohttp JSO
 
 import time
 
-import mmgen.opts as opts
+from mmgen.cfg import Config
 from mmgen.util import async_run
 
 opts_data = {
@@ -39,7 +39,7 @@ mmgen-node-tools repository.
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 def date(t):
 	return '{}-{:02}-{:02} {:02}:{:02}:{:02}'.format(*time.gmtime(t)[:6])

+ 1 - 2
mmgen/altcoin.py

@@ -791,8 +791,7 @@ if __name__ == '__main__':
 		}
 	}
 
-	from mmgen.opts import init
-	cfg = init( opts_data, need_amt=False )
+	cfg = Config( opts_data=opts_data, need_amt=False )
 
 	msg('Checking CoinInfo WIF/P2PKH/P2SH version numbers and trust levels against protocol.py')
 	CoinInfo.verify_core_coin_data( cfg, cfg.quiet, cfg.verbose )

+ 35 - 0
mmgen/cfg.py

@@ -402,3 +402,38 @@ class Config(Lockable):
 				'mainnet': (self.data_dir_root,),
 			}[self.network] ))
 			return self._data_dir
+
+	def __init__(
+			self,
+			cfg          = None,
+			opts_data    = None,
+			add_opts     = None,
+			init_opts    = None,
+			opt_filter   = None,
+			parse_only   = False,
+			parsed_opts  = None,
+			need_proto   = True,
+			need_amt     = True,
+			do_post_init = False,
+			process_opts = False ):
+
+		if opts_data or parsed_opts or process_opts:
+
+			import mmgen.opts as opts
+
+			self._opts = opts
+
+			opts.init(
+				cfg          = self,
+				opts_data    = opts_data,
+				add_opts     = add_opts,
+				init_opts    = init_opts,
+				opt_filter   = opt_filter,
+				parse_only   = parse_only,
+				parsed_opts  = parsed_opts,
+				need_proto   = need_proto,
+				need_amt     = need_amt,
+				do_post_init = do_post_init )
+
+			if do_post_init:
+				self._post_init = opts.post_init

+ 1 - 1
mmgen/contrib/license.py

@@ -20,7 +20,7 @@
 contrib.license: Copyright notice and text of GPLv3
 """
 
-from ..globalvars import gc
+from ..cfg import gc
 
 warning = f"""
   {gc.proj_name} Copyright (C) {gc.Cdates} by {gc.author} {gc.email}.  This

+ 2 - 3
mmgen/fileutil.py

@@ -123,13 +123,12 @@ def get_seed_file(cfg,nargs,wallets=None,invoked_as=None):
 
 	wd_from_opt = bool(cfg.hidden_incog_input_params or cfg.in_fmt) # have wallet data from opt?
 
-	import mmgen.opts as opts
 	if len(wallets) + (wd_from_opt or bool(wf)) < nargs:
 		if not wf:
 			msg('No default wallet found, and no other seed source was specified')
-		opts.usage()
+		cfg._opts.usage()
 	elif len(wallets) > nargs:
-		opts.usage()
+		cfg._opts.usage()
 	elif len(wallets) == nargs and wf and invoked_as != 'gen':
 		cfg._util.qmsg('Warning: overriding default wallet with user-supplied wallet')
 

+ 2 - 2
mmgen/main_addrgen.py

@@ -126,7 +126,7 @@ FMT CODES:
 	}
 }
 
-cfg = opts.init(opts_data,opt_filter=opt_filter,need_amt=False)
+cfg = Config( opts_data=opts_data, opt_filter=opt_filter, need_amt=False )
 
 proto = cfg._proto
 
@@ -136,7 +136,7 @@ addr_type = MMGenAddrType(
 	errmsg = f'{cfg.type!r}: invalid parameter for --type option' )
 
 if len(cfg._args) < 1:
-	opts.usage()
+	cfg._opts.usage()
 
 if cfg.keygen_backend:
 	from .keygen import check_backend

+ 1 - 1
mmgen/main_addrimport.py

@@ -186,7 +186,7 @@ async def main():
 
 	del twctl
 
-cfg = opts.init(opts_data,need_amt=False)
+cfg = Config( opts_data=opts_data, need_amt=False )
 
 proto = cfg._proto
 

+ 4 - 4
mmgen/main_autosign.py

@@ -25,7 +25,7 @@ from subprocess import run,PIPE,DEVNULL
 from collections import namedtuple
 from stat import *
 
-import mmgen.opts as opts
+from .cfg import Config
 from .util import msg,msg_r,ymsg,rmsg,gmsg,bmsg,die,suf,fmt_list,async_run,exit_if_mswin
 from .color import yellow,red,orange
 
@@ -120,8 +120,8 @@ This command is currently available only on Linux-based platforms.
 	}
 }
 
-cfg = opts.init(
-	opts_data,
+cfg = Config(
+	opts_data = opts_data,
 	add_opts = ['outdir','passwd_file'], # in _set_ok, so must be set
 	init_opts = {
 		'quiet': True,
@@ -433,7 +433,7 @@ async def do_loop():
 		n += 1
 
 if len(cmd_args) not in (0,1):
-	opts.usage()
+	cfg._opts.usage()
 
 if len(cmd_args) == 1:
 	cmd = cmd_args[0]

+ 6 - 5
mmgen/main_msg.py

@@ -14,6 +14,7 @@ mmgen-msg: Message signing operations for the MMGen suite
 
 import sys
 import mmgen.opts as opts
+from .cfg import Config
 from .base_obj import AsyncInit
 from .util import msg,suf,async_run
 from .msg import (
@@ -203,12 +204,12 @@ $ mmgen-msg verify signatures.json
 	}
 }
 
-cfg = opts.init(opts_data,need_amt=False)
+cfg = Config( opts_data=opts_data, need_amt=False )
 
 cmd_args = cfg._args
 
 if len(cmd_args) < 2:
-	opts.usage()
+	cfg._opts.usage()
 
 op = cmd_args.pop(0)
 
@@ -218,15 +219,15 @@ if cfg.msghash_type and op != 'create':
 async def main():
 	if op == 'create':
 		if len(cmd_args) < 2:
-			opts.usage()
+			cfg._opts.usage()
 		MsgOps.create( cmd_args[0], ' '.join(cmd_args[1:]) )
 	elif op == 'sign':
 		if len(cmd_args) < 1:
-			opts.usage()
+			cfg._opts.usage()
 		await MsgOps.sign( cmd_args[0], cmd_args[1:] )
 	elif op in ('verify','export'):
 		if len(cmd_args) not in (1,2):
-			opts.usage()
+			cfg._opts.usage()
 		await getattr(MsgOps,op)( cmd_args[0], cmd_args[1] if len(cmd_args) == 2 else None )
 	else:
 		die(1,f'{op!r}: unrecognized operation')

+ 3 - 2
mmgen/main_passgen.py

@@ -134,9 +134,10 @@ FMT CODES:
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
-if len(cfg._args) < 2: opts.usage()
+if len(cfg._args) < 2:
+	cfg._opts.usage()
 
 pw_idxs = AddrIdxList(fmt_str=cfg._args.pop())
 

+ 2 - 2
mmgen/main_regtest.py

@@ -57,7 +57,7 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 cmd_args = cfg._args
 
@@ -77,7 +77,7 @@ def check_num_args():
 		die(1,m.format(args,'many','more',amax))
 
 if not cmd_args:
-	opts.usage()
+	cfg._opts.usage()
 elif cmd_args[0] not in MMGenRegtest.usr_cmds:
 	die(1,f'{cmd_args[0]!r}: invalid command')
 elif cmd_args[0] not in ('cli','wallet_cli','balances'):

+ 2 - 2
mmgen/main_seedjoin.py

@@ -110,10 +110,10 @@ def print_shares_info():
 		out += f'{n:3}: {s.sid}\n'
 	cfg._util.qmsg(out)
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 if len(cfg._args) + bool(cfg.hidden_incog_input_params) < 2:
-	opts.usage()
+	cfg._opts.usage()
 
 if cfg.master_share:
 	master_idx = MasterShareIdx(cfg.master_share)

+ 1 - 1
mmgen/main_split.py

@@ -86,7 +86,7 @@ transaction reconfirmed before the timelock expires. Use at your own risk.
 	}
 }
 
-cfg = opts.init(opts_data,need_amt=False)
+cfg = Config( opts_data=opts_data, need_amt=False )
 
 proto = cfg._proto
 

+ 6 - 4
mmgen/main_tool.py

@@ -347,7 +347,8 @@ def get_mod_cls(modname):
 
 if gc.prog_name == 'mmgen-tool':
 
-	po = opts.init( opts_data, parse_only=True )
+	cfg = Config( opts_data=opts_data, parse_only=True )
+	po = cfg._parsed_opts
 
 	if po.user_opts.get('list'):
 		def gen():
@@ -362,7 +363,7 @@ if gc.prog_name == 'mmgen-tool':
 		sys.exit(0)
 
 	if len(po.cmd_args) < 1:
-		opts.usage()
+		cfg._opts.usage()
 
 	cmd = po.cmd_args[0]
 
@@ -371,11 +372,12 @@ if gc.prog_name == 'mmgen-tool':
 	if not cls:
 		die(1,f'{cmd!r}: no such command')
 
-	cfg = opts.init(
+	cfg = Config(
 		opts_data,
 		parsed_opts = po,
 		need_proto  = cls.need_proto,
-		init_opts   = {'rpc_backend':'aiohttp'} if cmd == 'twimport' else None )
+		init_opts   = {'rpc_backend':'aiohttp'} if cmd == 'twimport' else None,
+		process_opts = True )
 
 	cmd,*args = cfg._args
 

+ 1 - 1
mmgen/main_txbump.py

@@ -103,7 +103,7 @@ FMT CODES:
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 tx_file = cfg._args.pop(0)
 

+ 1 - 1
mmgen/main_txcreate.py

@@ -79,7 +79,7 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 async def main():
 

+ 1 - 1
mmgen/main_txdo.py

@@ -123,7 +123,7 @@ FMT CODES:
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 from .tx import NewTX,OnlineSignedTX
 from .tx.sign import txsign,get_seed_files,get_keyaddrlist,get_keylist

+ 2 - 2
mmgen/main_txsend.py

@@ -42,14 +42,14 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 if len(cfg._args) == 1:
 	infile = cfg._args[0]
 	from .fileutil import check_infile
 	check_infile(infile)
 else:
-	opts.usage()
+	cfg._opts.usage()
 
 if not cfg.status:
 	from .ui import do_license_msg

+ 2 - 2
mmgen/main_txsign.py

@@ -99,12 +99,12 @@ FMT CODES:
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 infiles = cfg._args
 
 if not infiles:
-	opts.usage()
+	cfg._opts.usage()
 
 from .fileutil import check_infile
 for i in infiles:

+ 4 - 4
mmgen/main_wallet.py

@@ -145,7 +145,7 @@ FMT CODES:
 	}
 }
 
-cfg = opts.init(opts_data,opt_filter=opt_filter,need_proto=False)
+cfg = Config( opts_data=opts_data, opt_filter=opt_filter, need_proto=False )
 
 cmd_args = cfg._args
 
@@ -166,17 +166,17 @@ elif invoked_as == 'seedsplit':
 				m2 = 'To generate a master share, omit the seed split specifier.'
 				die(1,m1+'  '+m2)
 		elif not sss:
-			opts.usage()
+			cfg._opts.usage()
 	elif master_share:
 		sss = SeedSplitSpecifier('1:2')
 	else:
-		opts.usage()
+		cfg._opts.usage()
 
 from .fileutil import check_infile,get_seed_file
 
 if cmd_args:
 	if invoked_as == 'gen' or len(cmd_args) > 1:
-		opts.usage()
+		cfg._opts.usage()
 	check_infile(cmd_args[0])
 
 sf = get_seed_file(cfg,nargs,invoked_as=invoked_as)

+ 5 - 5
mmgen/main_xmrwallet.py

@@ -225,12 +225,12 @@ $ mmgen-xmrwallet --pager txview *XMR*.sigtx
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 cmd_args = cfg._args
 
 if len(cmd_args) < 2:
-	opts.usage()
+	cfg._opts.usage()
 
 op     = cmd_args.pop(0)
 infile = cmd_args.pop(0)
@@ -242,17 +242,17 @@ wallets = spec = ''
 
 if op == 'relay':
 	if len(cmd_args) != 0:
-		opts.usage()
+		cfg._opts.usage()
 elif op == 'txview':
 	infile = [infile] + cmd_args
 elif op in ('create','sync','list'):
 	if len(cmd_args) not in (0,1):
-		opts.usage()
+		cfg._opts.usage()
 	if cmd_args:
 		wallets = cmd_args[0]
 elif op in ('new','transfer','sweep','label'):
 	if len(cmd_args) != 1:
-		opts.usage()
+		cfg._opts.usage()
 	spec = cmd_args[0]
 
 ua = namedtuple('uargs',[ 'op', 'infile', 'wallets', 'spec' ])

+ 3 - 5
mmgen/opts.py

@@ -281,6 +281,7 @@ opts_data_dfl = {
 }
 
 def init(
+	cfg,
 	opts_data   = None,
 	add_opts    = None,
 	init_opts   = None,
@@ -309,9 +310,8 @@ def init(
 				po.user_opts[uopt] = val
 
 	if parse_only and not any(k in po.user_opts for k in ('version','help','longhelp')):
-		return po
-
-	cfg = Config()
+		cfg._parsed_opts = po
+		return
 
 	if cfg.debug_opts: # TODO: this does nothing
 		opt_preproc_debug(po)
@@ -444,8 +444,6 @@ def init(
 	else:
 		delete_data(opts_data)
 
-	return cfg
-
 def check_usr_opts(cfg,usr_opts): # Raises an exception if any check fails
 
 	def opt_splits(val,sep,n,desc):

+ 3 - 6
mmgen/tool/api.py

@@ -35,10 +35,10 @@ class tool_api(
 
 	Example:
 		from mmgen.tool.api import tool_api
-		from mmgen.opts import init
+		from mmgen.cfg import Config
 
 		# Initialize a tool API instance:
-		tool = tool_api(init())
+		tool = tool_api(Config())
 
 		# Set the coin and network:
 		tool.init_coin('btc','mainnet')
@@ -71,10 +71,7 @@ class tool_api(
 		Initializer - takes no arguments
 		"""
 		type(cfg)._reset_ok += ('usr_randchars',)
-		if not cfg._lock:
-			import mmgen.opts as opts
-			opts.init()
-		super().__init__(cfg)
+		super().__init__(cfg=cfg)
 
 	def init_coin(self,coinsym,network):
 		"""

+ 1 - 1
scripts/compute-file-chksum.py

@@ -17,7 +17,7 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 from mmgen.fileutil import get_lines_from_file
 lines = get_lines_from_file( cfg, cfg._args[0] )

+ 2 - 2
scripts/create-token.py

@@ -256,7 +256,7 @@ def compile_code(cfg,code):
 
 if __name__ == '__main__':
 
-	cfg = opts.init(opts_data)
+	cfg = Config(opts_data=opts_data)
 
 	if cfg.check_solc_version:
 		sys.exit(0 if check_solc_version() else 1)
@@ -265,7 +265,7 @@ if __name__ == '__main__':
 		die(1,'--coin option must be ETH or ETC')
 
 	if not len(cfg._args) == 1:
-		opts.usage()
+		cfg._opts.usage()
 
 	code = create_src( cfg, solidity_code_template, token_data )
 

+ 2 - 2
scripts/tx-v2-to-v3.py

@@ -22,13 +22,13 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 import asyncio
 from mmgen.tx import CompletedTX
 
 if len(cfg._args) != 1:
-	opts.usage()
+	cfg._opts.usage()
 
 tx = asyncio.run(CompletedTX(cfg._args[0],quiet_open=True))
 tx.file.write(ask_tty=False,ask_overwrite=not cfg.quiet,ask_write=not cfg.quiet)

+ 2 - 2
scripts/uninstall-mmgen.py

@@ -51,13 +51,13 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 if gc.platform == 'linux' and os.getenv('USER') != 'root':
 	die(1,'This program must be run as root')
 
 if len(cfg._args):
-	opts.usage()
+	cfg._opts.usage()
 
 mod_dir = os.path.split(normalize_path(modpath_save))[0]
 mod_pardir = os.path.split(mod_dir)[0]

+ 2 - 2
test/gentest.py

@@ -462,7 +462,7 @@ def get_protos(proto,addr_type,toolname):
 def parse_args():
 
 	if len(cfg._args) != 2:
-		opts.usage()
+		cfg._opts.usage()
 
 	arg1,arg2 = cfg._args
 	gen1,gen2,rounds = (0,0,0)
@@ -553,7 +553,7 @@ sd = namedtuple('saved_data_item',['reduced','wif','addr','viewkey'])
 
 sys.argv = [sys.argv[0]] + ['--skip-cfg-file'] + sys.argv[1:]
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 set_globals(cfg)
 
 qmsg = cfg._util.qmsg

+ 2 - 2
test/include/coin_daemon_control.py

@@ -49,7 +49,7 @@ Valid network IDs: {nid}, all, or no_xmr
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 from mmgen.daemon import *
 
@@ -114,7 +114,7 @@ else:
 	ids = cfg._args
 	network_ids = CoinDaemon.get_network_ids(cfg)
 	if not ids:
-		opts.usage()
+		cfg._opts.usage()
 	for i in ids:
 		if i not in network_ids:
 			die(1,f'{i!r}: invalid network ID')

+ 1 - 1
test/misc/cfg.py

@@ -2,7 +2,7 @@
 
 from mmgen.common import *
 
-cfg = opts.init()
+cfg = Config(process_opts=True)
 
 cmd_args = cfg._args
 

+ 1 - 1
test/misc/get_passphrase.py

@@ -21,7 +21,7 @@ opts_data = {
 	}
 }
 
-cfg = opts.init( opts_data, init_opts={'color':True} )
+cfg = Config( opts_data=opts_data, init_opts={'color':True} )
 
 def crypto():
 	desc = 'test data'

+ 1 - 1
test/misc/input_func.py

@@ -15,7 +15,7 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 cmd_args = cfg._args
 

+ 1 - 1
test/misc/oneshot_warning.py

@@ -2,7 +2,7 @@
 
 from mmgen.common import *
 
-cfg = opts.init()
+cfg = Config()
 
 class foo(oneshot_warning):
 

+ 1 - 1
test/misc/opts.py

@@ -45,7 +45,7 @@ sample note: {nn}
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 if cfg._args == ['show_common_opts_diff']:
 	from mmgen.opts import show_common_opts_diff

+ 1 - 1
test/misc/term.py

@@ -44,7 +44,7 @@ available commands for platform {gc.platform!r}:
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 from mmgen.term import get_char,get_char_raw,get_terminal_size,get_term
 from mmgen.ui import line_input,keypress_confirm,do_license_msg

+ 7 - 6
test/misc/term_ni.py

@@ -4,16 +4,17 @@ import sys,os
 os.chdir(os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(sys.argv[0])))))
 sys.path[0] = os.curdir
 
-from mmgen.common import *
+from mmgen.cfg import Config
+cfg = Config()
 
-cfg = opts.init()
-
-from mmgen.term import get_term,get_char_raw
+from mmgen.term import init_term,get_term
+init_term(cfg)
 term = get_term()
 
-if cfg._args[0] == 'echo':
+if sys.argv[1] == 'echo':
 
 	from mmgen.ui import line_input
+	from mmgen.term import get_char_raw
 
 	term.init(noecho=True)
 	line_input( cfg, 'noecho> ' )
@@ -26,7 +27,7 @@ if cfg._args[0] == 'echo':
 	line_input( cfg, 'noecho> ' )
 	get_char_raw()
 
-elif cfg._args[0] == 'cleanup':
+elif sys.argv[1] == 'cleanup':
 
 	term.register_cleanup()
 

+ 2 - 2
test/misc/tool_api_test.py

@@ -109,8 +109,8 @@ def run_test():
 			'SKxuS56e99jpCeD9mMQ5o63zoGPakNdM9HCvt4Vt2cypvRjCdvGJ',
 			'zchFELwBxqsAubsLQ8yZgPCDDGukjXJssgCbiTPwFNmFwn9haLnDatzfhLdZzJT4PcU4o2yr92B52UFirUzEdF6ZYM2gBkM' )
 
-from mmgen.opts import init
+from mmgen.cfg import Config
 
-cfg = init()
+cfg = Config(process_opts=True)
 
 run_test()

+ 1 - 1
test/objattrtest.py

@@ -54,7 +54,7 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 from test.include.common import set_globals
 set_globals(cfg)

+ 1 - 1
test/objtest.py

@@ -60,7 +60,7 @@ opts_data = {
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 from test.include.common import set_globals
 set_globals(cfg)

+ 1 - 1
test/scrambletest.py

@@ -50,7 +50,7 @@ If no command is given, the whole suite of tests is run.
 	}
 }
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 from test.include.common import set_globals,end_msg,green
 

+ 3 - 3
test/test.py

@@ -65,7 +65,7 @@ def create_shm_dir(data_dir,trash_dir):
 		os.symlink(dest,trash_dir)
 
 		dest = os.path.join(shm_dir,os.path.basename(data_dir))
-		shutil.move(data_dir,dest) # data_dir was created by opts.init()
+		shutil.move(data_dir,dest) # data_dir was created by Config()
 		os.symlink(dest,data_dir)
 
 	return shm_dir
@@ -167,7 +167,7 @@ environment var
 }
 
 # we need some opt values before running opts.init, so parse without initializing:
-po = opts.init(opts_data,parse_only=True)
+po = Config(opts_data=opts_data,parse_only=True)._parsed_opts
 
 from test.include.common import set_globals,get_test_data_dir
 
@@ -179,7 +179,7 @@ if not po.user_opts.get('skipping_deps'):
 	except: pass
 
 # step 2: opts.init will create new data_dir in ./test (if not cfg.skipping_deps)
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 set_globals(cfg)
 

+ 1 - 1
test/tooltest.py

@@ -55,7 +55,7 @@ If no command is given, the whole suite of tests is run.
 
 sys.argv = [sys.argv[0]] + ['--skip-cfg-file'] + sys.argv[1:]
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 set_globals(cfg)
 

+ 2 - 2
test/tooltest2.py

@@ -91,8 +91,8 @@ If no command is given, the whole suite of tests is run.
 
 sys.argv = [sys.argv[0]] + ['--skip-cfg-file'] + sys.argv[1:]
 
-cfg = opts.init(
-	opts_data,
+cfg = Config(
+	opts_data = opts_data,
 	init_opts = {
 		'usr_randchars': 0,
 		'hash_preset': '1',

+ 1 - 1
test/unit_tests.py

@@ -54,7 +54,7 @@ If no test is specified, all available tests are run
 
 sys.argv.insert(1,'--skip-cfg-file')
 
-cfg = opts.init(opts_data)
+cfg = Config(opts_data=opts_data)
 
 type(cfg)._reset_ok += ('use_internal_keccak_module','debug_addrlist')