shithub: pokecrystal

Download patch

ref: 70be18427b069cae7ffcfb84811ae268fa18afce
parent: ca0981eb36a86c1cd868e6f8ca13b42162afdc3f
author: Bryan Bishop <[email protected]>
date: Sat Aug 31 07:04:27 EDT 2013

don't call load_pokecrystal_macros 2000 times

Also, don't call make_macro_table 2000 times by only calling it once and
passing the result.

--- a/preprocessor.py
+++ b/preprocessor.py
@@ -642,9 +642,8 @@
 
     if comment: sys.stdout.write(comment)
 
-def preprocess(macros, lines=None):
+def preprocess(macro_table, lines=None):
     """Main entry point for the preprocessor."""
-    macro_table = make_macro_table(macros)
 
     if not lines:
         # read each line from stdin
@@ -658,4 +657,6 @@
 
 # only run against stdin when not included as a module
 if __name__ == "__main__":
-    preprocess(load_pokecrystal_macros())
+    macros = load_pokecrystal_macros()
+    macro_table = make_macro_table(macros)
+    preprocess(macro_table)
--- a/prequeue.py
+++ b/prequeue.py
@@ -9,9 +9,15 @@
 import sys
 import preprocessor
 
-if __name__ == '__main__':
+def main():
+    macros = preprocessor.load_pokecrystal_macros()
+    macro_table = preprocessor.make_macro_table(macros)
+
     for source in sys.argv[1:]:
         dest = os.path.splitext(source)[0] + '.tx'
         sys.stdin  = open(source, 'r')
         sys.stdout = open(dest, 'w')
-        preprocessor.preprocess(preprocessor.load_pokecrystal_macros())
+        preprocessor.preprocess(macro_table)
+
+if __name__ == '__main__':
+    main()