view docs/tutorial/testlib/arguments_printer.py @ 6931:237f99ee3d64 stable

tests: remove leading spaces in `hg help` output, run only on Mercurial 6.9+ Core decided to remove a lot of leading spaces in docstrings to support Python 3.13, see 51057ab0dffa for details.
author Anton Shestakov <av6@dwimlabs.net>
date Mon, 11 Nov 2024 10:39:57 +0400
parents aad37ffd7d58
children
line wrap: on
line source

import sys

formatted_args = []

UNSAFE_CHARACTERS = [" ", "!", "\"", "#", "$", "&", "'", "(", ")", "*", ",", ";", "<", ">", "?", "[", "\\", "]", "^", "`", "{", "|", "}", ":", "~", "/"]


def find_unsafe(arg):
    for unsafe in UNSAFE_CHARACTERS:
        if unsafe in arg:
            return True

    return False


for arg in sys.argv[1:]:
    if find_unsafe(arg):
        formatted_args.append('"%s"' % arg)
    else:
        formatted_args.append(arg)

print("$ " + " ".join(formatted_args))