Files
galaxy/scripts/tools/re_escape_output.py
T

35 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( "%s.%s" % ( args[0], suffix ), 'wb' )
if options.multiline:
lines = [ re.escape( input.read() ) ]
else:
lines = [ "%s\n" % re.escape( line.rstrip( '\n\r' ) ) for line in input ]
output.writelines( lines )
output.close()
if __name__ == "__main__":
__main__()