From 5815edf382d586e84db8d08612d5f4d1c2e7ac96 Mon Sep 17 00:00:00 2001 From: Bryan Bishop Date: Sat, 31 Aug 2013 10:13:17 -0500 Subject: [PATCH] refactor preprocessor macros into a function Remove the "macros" global and instead use a function to construct a list of macros. --- preprocessor.py | 36 ++++++++++++++++++++++-------------- prequeue.py | 2 +- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/preprocessor.py b/preprocessor.py index b6bdfbe7d..e69089c18 100644 --- a/preprocessor.py +++ b/preprocessor.py @@ -16,20 +16,28 @@ from extras.pokemontools.crystal import ( effect_classes, ) -even_more_macros = [ - Warp, - XYTrigger, - Signpost, - PeopleEvent, - DataByteWordMacro, -] +def load_pokecrystal_macros(): + """ + Construct a list of macros that are needed for pokecrystal preprocessing. + """ + ourmacros = [] -macros = command_classes -macros += even_more_macros -macros += [each[1] for each in text_command_classes] -macros += movement_command_classes -macros += music_classes -macros += effect_classes + even_more_macros = [ + Warp, + XYTrigger, + Signpost, + PeopleEvent, + DataByteWordMacro, + ] + + ourmacros += command_classes + ourmacros += even_more_macros + ourmacros += [each[1] for each in text_command_classes] + ourmacros += movement_command_classes + ourmacros += music_classes + ourmacros += effect_classes + + return ourmacros # show lines before preprocessing in stdout show_original_lines = False @@ -628,4 +636,4 @@ def preprocess(macros, lines=None): # only run against stdin when not included as a module if __name__ == "__main__": - preprocess(macros) + preprocess(load_pokecrystal_macros()) diff --git a/prequeue.py b/prequeue.py index ec6cd9e39..2c8f4cf5a 100644 --- a/prequeue.py +++ b/prequeue.py @@ -14,4 +14,4 @@ if __name__ == '__main__': dest = os.path.splitext(source)[0] + '.tx' sys.stdin = open(source, 'r') sys.stdout = open(dest, 'w') - preprocessor.preprocess(preprocessor.macros) + preprocessor.preprocess(preprocessor.load_pokecrystal_macros())