diff --git a/mmgen/opts.py b/mmgen/opts.py index 432542b8..0fe8f888 100755 --- a/mmgen/opts.py +++ b/mmgen/opts.py @@ -62,11 +62,15 @@ def print_help(po,opts_data,opt_filter): opts_data['text']['long_options'] = d remove_unneeded_long_opts() - mmgen.share.Opts.print_help( # exits - proto, - po, - opts_data, - opt_filter ) + from .util import do_pager + do_pager( + mmgen.share.Opts.make_help( + proto, + po, + opts_data, + opt_filter )) + + sys.exit(0) def fmt_opt(o): return '--' + o.replace('_','-') @@ -387,7 +391,7 @@ def init( if getattr(opt,'help',None) or getattr(opt,'longhelp',None): print_help(po,opts_data,opt_filter) # exits - del mmgen.share.Opts.print_help + del mmgen.share.Opts.make_help del mmgen.share.Opts.process_uopts del mmgen.share.Opts.parse_opts diff --git a/mmgen/share/Opts.py b/mmgen/share/Opts.py index b76a116d..314333bd 100755 --- a/mmgen/share/Opts.py +++ b/mmgen/share/Opts.py @@ -45,7 +45,11 @@ def usage(opts_data): data = opts_data['text'].get('usage2') or opts_data['text']['usage'] )) sys.exit(1) -def print_help(proto,po,opts_data,opt_filter): +def print_help(*args): + print(make_help(*args)) + sys.exit(0) + +def make_help(proto,po,opts_data,opt_filter): def parse_lines(text): filtered = False @@ -96,8 +100,7 @@ def print_help(proto,po,opts_data,opt_filter): for line in notes_text.splitlines(): yield line - print(nl.join(gen_text())) - sys.exit(0) + return nl.join(gen_text()) + '\n' def process_uopts(opts_data,short_opts,long_opts):