Commit 26b512ea authored by Damien George's avatar Damien George
Browse files

py: Get makeqstrdata.py and makeversionhdr.py running under Python 2.6.

These scripts should run under as wide a range of Python versions as
possible.
parent 7d8edeff
"""
Process raw qstr file and output qstr data with length, hash and data bytes.
This script works with Python 2.6, 2.7, 3.3 and 3.4.
"""
from __future__ import print_function
import argparse
import re
import sys
......@@ -97,17 +102,5 @@ def do_work(infiles):
qlen_str = ('\\x%02x' * cfg_bytes_len) % tuple(((qlen >> (8 * i)) & 0xff) for i in range(cfg_bytes_len))
print('QDEF(MP_QSTR_%s, (const byte*)"\\x%02x\\x%02x%s" "%s")' % (ident, qhash & 0xff, (qhash >> 8) & 0xff, qlen_str, qdata))
return True
def main():
arg_parser = argparse.ArgumentParser(description='Process raw qstr file and output qstr data with length, hash and data bytes')
arg_parser.add_argument('files', nargs='+', help='input file(s)')
args = arg_parser.parse_args()
result = do_work(args.files)
if not result:
print('exiting with error code', file=sys.stderr)
exit(1)
if __name__ == "__main__":
main()
do_work(sys.argv[1:])
# This script works with Python 2 and 3
"""
Generate header file with macros defining MicroPython version info.
This script works with Python 2.6, 2.7, 3.3 and 3.4.
"""
from __future__ import print_function
......@@ -8,6 +12,13 @@ import datetime
import subprocess
def get_version_info_from_git():
# Python 2.6 doesn't have check_output, so check for that
try:
subprocess.check_output
subprocess.check_call
except AttributeError:
return None
# Note: git describe doesn't work if no tag is available
try:
git_tag = subprocess.check_output(["git", "describe", "--dirty", "--always"], universal_newlines=True).strip()
......@@ -89,4 +100,5 @@ def make_version_header(filename):
with open(filename, 'w') as f:
f.write(file_data)
make_version_header(sys.argv[1])
if __name__ == "__main__":
make_version_header(sys.argv[1])
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment