diff options
author | Damien George <damien.p.george@gmail.com> | 2014-04-16 10:54:16 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-04-16 10:54:16 +0100 |
commit | bda2f709646f80dc82e52cd664d17cd41e8b2b6a (patch) | |
tree | 98da1f4bedc61563c9abc905da6aa02467a61a7b /tools/file2h.py | |
parent | 8a919fb051361e422817491c56e9096143b5fe7d (diff) | |
parent | 1452221aca8851df029702e8a71be339005bd5fd (diff) | |
download | micropython-bda2f709646f80dc82e52cd664d17cd41e8b2b6a.tar.gz micropython-bda2f709646f80dc82e52cd664d17cd41e8b2b6a.zip |
Merge pull request #498 from lurch/create-headers-from-files
Auto-generate the stmhal/pybcdc_inf header file from static files
Diffstat (limited to 'tools/file2h.py')
-rw-r--r-- | tools/file2h.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/file2h.py b/tools/file2h.py new file mode 100644 index 0000000000..fb5bd1a4b9 --- /dev/null +++ b/tools/file2h.py @@ -0,0 +1,28 @@ +# 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 +line_end = '' + +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)) |