Files
galaxy/scripts/tools/re_escape_output.py
T
2026-01-20 10:25:45 +00:00

38 lines
1.0 KiB
Python

#!/usr/bin/env python
"""
Escapes a file into a form suitable for use with tool tests using re_match or re_match_multiline (when -m/--multiline option is used)
usage: re_escape_output.py [options] input_file [output_file]
-m: Use Multiline Matching
"""
import optparse
import re
def __main__():
parser = optparse.OptionParser()
parser.add_option(
"-m", "--multiline", action="store_true", dest="multiline", default=False, help="Use Multiline Matching"
)
options, args = parser.parse_args()
input = open(args[0], "rb")
if len(args) > 1:
output = open(args[1], "wb")
else:
if options.multiline:
suffix = "re_match_multiline"
else:
suffix = "re_match"
output = open(f"{args[0]}.{suffix}", "wb")
if options.multiline:
lines = [re.escape(input.read())]
else:
lines = ["{}\n".format(re.escape(line.rstrip("\n\r"))) for line in input]
output.writelines(lines)
output.close()
if __name__ == "__main__":
__main__()