# Reads in a text file, and performs the necessary escapes so that it # can be #included as a static string like: # static const char string_from_textfile[] = # #include "build/textfile.h" # ; # This script simply prints the escaped string straight to stdout from __future__ import print_function import sys # Can either be set explicitly, or left blank to auto-detect # Except auto-detect doesn't work because the file has been passed # through Python text processing, which makes all EOL a \n line_end = "\\r\\n" if __name__ == "__main__": filename = sys.argv[1] for line in open(filename, "r").readlines(): if not line_end: for ending in ("\r\n", "\r", "\n"): if line.endswith(ending): line_end = ending.replace("\r", "\\r").replace("\n", "\\n") break if not line_end: raise Exception("Couldn't auto-detect line-ending of %s" % filename) line = line.rstrip("\r\n") line = line.replace("\\", "\\\\") line = line.replace('"', '\\"') print('"%s%s"' % (line, line_end))