#!/usr/bin/python3 import re import sys node_version_file = sys.argv[1] out_file = sys.argv[2] NMV = None if len(sys.argv) > 3: NMV = sys.argv[3] with open(node_version_file, 'r', encoding='utf-8') as in_file: with open(out_file, 'w', encoding='utf-8') as out_file: changed = False contents = in_file.read() new_contents = re.sub(r'^#define NODE_MODULE_VERSION [0-9]+$', '#define NODE_MODULE_VERSION ' + NMV, contents, flags=re.MULTILINE) changed = contents != new_contents if not changed and NMV is not None: raise Exception('NMV must differ from current value in Node.js') out_file.writelines(new_contents)