From 9b456b0820dc00e682ed09f926719ff79a9cce6b Mon Sep 17 00:00:00 2001 From: MMGen Date: Sat, 19 Oct 2019 10:10:28 +0000 Subject: [PATCH] altcoin_subclass(): use importlib --- mmgen/util.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/mmgen/util.py b/mmgen/util.py index 4fee4aff..67f6907f 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -920,13 +920,11 @@ def altcoin_subclass(cls,mod_id,cls_name): mod_dir = g.proto.base_coin.lower() pname = g.proto.class_pfx if hasattr(g.proto,'class_pfx') else capfirst(g.proto.name) tname = 'Token' if g.token else '' - e1 = 'from mmgen.altcoins.{}.{} import {}{}{}'.format(mod_dir,mod_id,pname,tname,cls_name) - e2 = 'alt_cls = {}{}{}'.format(pname,tname,cls_name) - gl = globals() + import importlib + modname = 'mmgen.altcoins.{}.{}'.format(mod_dir,mod_id) + clsname = '{}{}{}'.format(pname,tname,cls_name) try: - exec(e1,gl,gl) - exec(e2,gl,gl) - return alt_cls + return getattr(importlib.import_module(modname),clsname) except ImportError: return cls