44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
# standard imports
|
|
import logging
|
|
import importlib
|
|
|
|
# local imports
|
|
from cic import Proof
|
|
from cic.meta import Meta
|
|
from cic.attachment import Attachment
|
|
from cic.network import Network
|
|
from cic.token import Token
|
|
|
|
logg = logging.getLogger(__name__)
|
|
|
|
|
|
def process_args(argparser):
|
|
argparser.add_argument('-d', '--directory', type=str, dest='directory', default='.', help='directory')
|
|
argparser.add_argument('-y', '--signer', type=str, dest='signer', help='target-specific signer to use for export')
|
|
argparser.add_argument('target', type=str, help='target network type')
|
|
|
|
|
|
def validate_args(args):
|
|
pass
|
|
|
|
|
|
def execute(config, eargs):
|
|
modname = 'cic.ext.{}'.format(eargs.target)
|
|
cmd_mod = importlib.import_module(modname)
|
|
|
|
ct = Token(path=eargs.directory)
|
|
cp = Proof(path=eargs.directory)
|
|
cm = Meta(path=eargs.directory)
|
|
ca = Attachment(path=eargs.directory)
|
|
cn = Network(path=eargs.directory)
|
|
|
|
ct.load()
|
|
cp.load()
|
|
cm.load()
|
|
ca.load()
|
|
cn.load()
|
|
|
|
ref = cn.reference(eargs.target)
|
|
logg.debug('found reference {} for target {}'.format(ref, eargs.target))
|
|
getattr(cmd_mod, 'new')(ref, ca.get(), signer_hint=eargs.signer)
|