Mercurial > hgrepos > DevTools > mercurial-extensions
changeset 294:2eb443e77cff
Refactor: put the real keyword printing into a separate function.
This function can and should be used for printing subrepo keywords also.
| author | Franz Glasner <hg@dom66.de> |
|---|---|
| date | Sun, 27 Jan 2019 16:36:30 +0100 |
| parents | 75070825d111 |
| children | eeb8c52d8802 |
| files | extensions/kwarchive.py |
| diffstat | 1 files changed, 25 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/extensions/kwarchive.py Sun Jan 27 16:08:31 2019 +0100 +++ b/extensions/kwarchive.py Sun Jan 27 16:36:30 2019 +0100 @@ -343,12 +343,28 @@ path_filter=get_checked_path_filter_option(opts), user_filter=get_checked_user_filter_option(opts)) # make file-dependent keywords for an example file - file_keywords = make_file_keywords( - keywords, - "dir1/dir2/test.file", - "a4dd6f4b22e11fec41158eec187630c24a43120a") + if not opts.get("no_file"): + file_keywords = make_file_keywords( + keywords, + "dir1/dir2/test.file", + "a4dd6f4b22e11fec41158eec187630c24a43120a") + else: + file_keywords = None + _kwprint_keywords(ui, keywords, file_keywords, + opts.get("reST"), + opts.get("no_file")) + if opts.get("subrepos"): + _kwprint_subrepos(ctx, ui, + opts.get("reST"), + opts.get("no_file"), + path_filter=get_checked_path_filter_option(opts), + user_filter=get_checked_user_filter_option(opts)) + + +def _kwprint_keywords(ui, keywords, file_keywords, rest, no_file): + """Print all the prepared keywords into the output""" for key in sorted(keywords.keys()): - if opts.get("reST"): + if rest: if keywords[key]: ui.write(".. |VCS%s| replace:: %s\n" % (key, keywords[key])) else: @@ -359,18 +375,16 @@ ui.write(".. |VCS%s| unicode:: 0xA0\n" % key) else: ui.write("$%s: %s $\n" % (key, keywords[key])) - if not opts.get("no_file"): + if not no_file: ui.write("\n") for key in sorted(file_keywords.keys()): - if opts.get("reST"): + if rest: ui.write(".. |VCS%s| replace:: %s\n" % (key, file_keywords[key])) else: ui.write("$%s: %s $\n" % (key, file_keywords[key])) - if opts.get("subrepos"): - _kwprint_subrepos(ctx, ui) -def _kwprint_subrepos(ctx, ui): +def _kwprint_subrepos(ctx, ui, rest, no_file, path_filter, user_filter): """For all subrepos in `ctx` do keyword expansion resursively""" ui.write("STATE: " + repr(subrepo.state(ctx, ui)) + "\n") for subpath in sorted(ctx.substate): @@ -380,7 +394,7 @@ keywords = make_node_keywords(ui, subctx) ui.write("KWD: " + repr(keywords) + "\n") # Recursively check for other subrepos - _test_subrepos(subctx, ui) + _kwprint_subrepos(subctx, ui, rest, no_file, path_filter, user_filter) def _test_subrepos(ctx, ui):
