diff options
author | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2013-12-10 14:08:08 -0500 |
---|---|---|
committer | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2013-12-10 14:08:08 -0500 |
commit | 4e530306781ccebf483dd86c39bd53bd4ca97fbd (patch) | |
tree | 034ae854a665d13ea2771c6d7998ab1ea8f641fa /prequeue.py | |
parent | 321e432e078d6eceeb25843341d0078214a58394 (diff) | |
parent | 515357a4504aa8c0816f088054c26f1902e71e72 (diff) |
Merge branch 'master' of https://github.com/iimarckus/pokered
Conflicts:
main.asm
Diffstat (limited to 'prequeue.py')
-rw-r--r-- | prequeue.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/prequeue.py b/prequeue.py new file mode 100644 index 00000000..d9b37e03 --- /dev/null +++ b/prequeue.py @@ -0,0 +1,40 @@ +# coding: utf-8 +""" +Starting a new python process to preprocess each source file creates too much +overhead. Instead, a list of files to preprocess is fed into a script run from +a single process. +""" + +import os +import sys + +import preprocessor + +def preprocess_queue(filenames=sys.argv[1:]): + + stdin = sys.stdin + stdout = sys.stdout + + processor = preprocessor.setup_processor() + + for source in filenames: + dest = os.path.splitext(source)[0] + '.tx' + sys.stdin = open(source, 'r') + sys.stdout = open(dest, 'w') + processor.preprocess() + + processor.update_globals() + + sys.stdin = stdin + sys.stdout = stdout + +def main(): + filenames = list(set(sys.argv[1:])) + if filenames: + num_files = len(filenames) + s = '' if num_files == 1 else 's' + sys.stdout.write('Preprocessing {0} file{1}...\n'.format(num_files, s)) + preprocess_queue(filenames) + +if __name__ == '__main__': + main() |