mirror of https://github.com/pret/pokecrystal.git
prequeue: dont initialize a new preprocessor for each file
This commit is contained in:
parent
9eb2cf3d21
commit
94052ab5b9
|
@ -51,17 +51,16 @@ def load_pokecrystal_macros():
|
||||||
|
|
||||||
return ourmacros
|
return ourmacros
|
||||||
|
|
||||||
def preprocess(config, macros, lines=None):
|
def setup_processor():
|
||||||
"""
|
|
||||||
Entry point for the preprocessor.
|
|
||||||
"""
|
|
||||||
processor = preprocessor.Preprocessor(config, macros)
|
|
||||||
return processor.preprocess(lines=lines)
|
|
||||||
|
|
||||||
def main():
|
|
||||||
config = configuration.Config()
|
config = configuration.Config()
|
||||||
macros = load_pokecrystal_macros()
|
macros = load_pokecrystal_macros()
|
||||||
return preprocess(config, macros)
|
processor = preprocessor.Preprocessor(config, macros)
|
||||||
|
return processor
|
||||||
|
|
||||||
|
def main():
|
||||||
|
processor = setup_processor()
|
||||||
|
processor.preprocess()
|
||||||
|
processor.update_globals
|
||||||
|
|
||||||
# only run against stdin when not included as a module
|
# only run against stdin when not included as a module
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
25
prequeue.py
25
prequeue.py
|
@ -8,24 +8,33 @@ a single process.
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import extras.pokemontools.configuration as configuration
|
|
||||||
|
|
||||||
import preprocessor
|
import preprocessor
|
||||||
|
|
||||||
def main():
|
def preprocess_queue(filenames=sys.argv[1:]):
|
||||||
config = configuration.Config()
|
|
||||||
macros = preprocessor.load_pokecrystal_macros()
|
|
||||||
|
|
||||||
|
stdin = sys.stdin
|
||||||
stdout = sys.stdout
|
stdout = sys.stdout
|
||||||
|
|
||||||
for source in sys.argv[1:]:
|
processor = preprocessor.setup_processor()
|
||||||
|
|
||||||
|
for source in filenames:
|
||||||
dest = os.path.splitext(source)[0] + '.tx'
|
dest = os.path.splitext(source)[0] + '.tx'
|
||||||
sys.stdin = open(source, 'r')
|
sys.stdin = open(source, 'r')
|
||||||
sys.stdout = open(dest, 'w')
|
sys.stdout = open(dest, 'w')
|
||||||
preprocessor.preprocess(config, macros)
|
processor.preprocess()
|
||||||
|
|
||||||
# reset stdout
|
processor.update_globals()
|
||||||
|
|
||||||
|
sys.stdin = stdin
|
||||||
sys.stdout = stdout
|
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__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Reference in New Issue