cmdtest.list_cmds(): cleanup, move to CmdGroupMgr
This commit is contained in:
parent
6d74059489
commit
e9aeb9d8cd
2 changed files with 24 additions and 31 deletions
|
|
@ -239,34 +239,6 @@ if cfg.skipping_deps:
|
|||
|
||||
from test.cmdtest_d.include.cfg import cfgs
|
||||
|
||||
def list_cmds():
|
||||
|
||||
def gen_output():
|
||||
|
||||
from test.cmdtest_d.include.group_mgr import CmdGroupMgr
|
||||
gm = CmdGroupMgr(cfg)
|
||||
cw, d = 0, []
|
||||
|
||||
yield green('AVAILABLE COMMANDS:')
|
||||
|
||||
for gname in gm.cmd_groups:
|
||||
tg = gm.gm_init_group(cfg, None, gname, None, None)
|
||||
gdesc = tg.__doc__.strip() if tg.__doc__ else type(tg).__name__
|
||||
d.append((gname, gdesc, gm.cmd_list, gm.dpy_data))
|
||||
cw = max(max(len(k) for k in gm.dpy_data), cw)
|
||||
|
||||
for gname, gdesc, cmd_list, dpy_data in d:
|
||||
yield '\n'+green(f'{gname!r} - {gdesc}:')
|
||||
for cmd in cmd_list:
|
||||
data = dpy_data[cmd]
|
||||
yield ' {:{w}} - {}'.format(
|
||||
cmd,
|
||||
(data if isinstance(data, str) else data[1]),
|
||||
w = cw)
|
||||
|
||||
from mmgen.ui import do_pager
|
||||
do_pager('\n'.join(gen_output()))
|
||||
|
||||
def create_tmp_dirs(shm_dir):
|
||||
if sys.platform in ('win32', 'darwin'):
|
||||
for cfg in sorted(cfgs):
|
||||
|
|
@ -297,13 +269,15 @@ if __name__ == '__main__':
|
|||
if not cfg.skipping_deps: # do this before list cmds exit, so we stay in sync with shm_dir
|
||||
create_tmp_dirs(shm_dir)
|
||||
|
||||
if cfg.list_cmds:
|
||||
from test.cmdtest_d.include.group_mgr import CmdGroupMgr
|
||||
CmdGroupMgr(cfg).list_cmds()
|
||||
sys.exit(0)
|
||||
|
||||
if cfg.list_cmd_groups:
|
||||
from test.cmdtest_d.include.group_mgr import CmdGroupMgr
|
||||
CmdGroupMgr(cfg).list_cmd_groups()
|
||||
sys.exit(0)
|
||||
elif cfg.list_cmds:
|
||||
list_cmds()
|
||||
sys.exit(0)
|
||||
|
||||
if cfg.pause:
|
||||
set_restore_term_at_exit()
|
||||
|
|
|
|||
|
|
@ -154,6 +154,25 @@ class CmdGroupMgr:
|
|||
def get_cls_by_gname(self, gname):
|
||||
return self.load_mod(gname, self.cmd_groups[gname].params.get('modname'))
|
||||
|
||||
def list_cmds(self):
|
||||
|
||||
def gen_output():
|
||||
yield green('AVAILABLE COMMANDS:')
|
||||
for gname in self.cmd_groups:
|
||||
tg = self.gm_init_group(self.cfg, None, gname, None, None)
|
||||
gdesc = tg.__doc__.strip() if tg.__doc__ else type(tg).__name__
|
||||
yield '\n' + green(f'{gname!r} - {gdesc}:')
|
||||
name_w = max(len(cmd) for cmd in self.cmd_list)
|
||||
for cmd in self.cmd_list:
|
||||
data = self.dpy_data[cmd]
|
||||
yield ' {a:{w}} - {b}'.format(
|
||||
a = cmd,
|
||||
b = data if isinstance(data, str) else data.desc,
|
||||
w = name_w)
|
||||
|
||||
from mmgen.ui import do_pager
|
||||
do_pager('\n'.join(gen_output()))
|
||||
|
||||
def list_cmd_groups(self):
|
||||
|
||||
if self.cfg.list_current_cmd_groups:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue