Improved argparsing, actually started making/writing to files

pull/11/head
Nicholas Hope 2022-06-14 21:38:13 -04:00
parent a289440187
commit dd78d62f86
1 changed files with 14 additions and 29 deletions

43
cli.py
View File

@ -1,5 +1,6 @@
# https://www.w3schools.io/file/yaml-arrays/
import sys
import os
import yaml
import argparse
import tempfile
@ -19,38 +20,22 @@ def parseFile(inputFile):
if "errors" in config:
for e in config["errors"]:
print(e,file=sys.stderr)
# return
parseConfig(config)
else:
parseConfig(config)
def parseConfig(config):
for currentClass in ["scout", "soldier", "pyro", "demo", "heavy", "sniper", "default"]:
if currentClass in config:
outfile = tempfile.NamedTemporaryFile( prefix=currentClass, delete=False )
global args
for currentClass in config:
outfile = tempfile.NamedTemporaryFile( prefix=currentClass, delete=False )
if args.debug:
print( 'created {} '.format(outfile.name))
outfile.write(classes.regularClass(config.pop(currentClass)))
os.replace(outfile, './{}_nscript.txt'.format(currentClass))
close(outfile)
if "engi" in config:
outfile = open("cfg/temp_engi.cfg", "w")
outfile.write( classes.engi(config.pop("engi")) )
config.pop("engi")
elif "medic" in config:
outfile = open("cfg/temp_medic.cfg", "w")
outfile.write( classes.getMedicConfig(config) )
config.pop("medic")
elif "spy" in config:
outfile = open("cfg/temp_spy.cfg", "w")
outfile.write( classes.getSpyConfig(config) )
config.pop("spy")
elif "default" in config:
outfile = open("cfg/temp_default.cfg", "w")
outfile.write( classes.getDefaultConfig(config) )
config.pop("default")
classDict = config[currentClass]
stringToWrite = classes.makeCFG(classDict)
outfile.write(stringToWrite.encode("utf8"))
os.replace(outfile.name, './cfg/{}_nscript.txt'.format(currentClass))
outfile.close()
# Main function
if __name__ == "__main__":