1
0
mirror of synced 2025-02-03 13:13:26 +01:00

main.py: Refactor main() to support external scripts

- Don't manually convert difficulties by hardcoding names
- Don't write the TJA in `main()`; let the caller decide.
This commit is contained in:
Viv 2023-06-02 16:35:06 -04:00
parent a510696efc
commit 394b7badc9

View File

@ -22,6 +22,7 @@ def main(fnameFumen=None, fnameTJA=None, validate=False):
else: else:
parsedSongFumen = None parsedSongFumen = None
convertedTJAs = {}
if fnameTJA: if fnameTJA:
# Parse tja # Parse tja
try: try:
@ -31,18 +32,19 @@ def main(fnameFumen=None, fnameTJA=None, validate=False):
inputFile = open(fnameTJA, "r", encoding="shift-jis") inputFile = open(fnameTJA, "r", encoding="shift-jis")
parsedSongsTJA = parseTJA(inputFile) parsedSongsTJA = parseTJA(inputFile)
# Try converting the Oni TJA chart to match the Oni fumen for course, song in parsedSongsTJA.items():
convertedTJA = convertTJAToFumen(parsedSongFumen, parsedSongsTJA['Oni']) convertedTJA = convertTJAToFumen(parsedSongFumen, song)
outputName = inputFile.name.split('.')[0] + ".bin" convertedTJAs[course] = convertedTJA
outputFile = open(outputName, "wb")
writeFumen(outputFile, convertedTJA)
else:
convertedTJA = None
return parsedSongFumen, convertedTJA return parsedSongFumen, convertedTJAs
if __name__ == "__main__": if __name__ == "__main__":
fnameFumen = "test-data/12373714_m.bin" fnameFumen = "test-data/12373714_m.bin"
fnameTJA = "test-data/Unlimited Games.tja" # NB: Contains 5 charts fnameTJA = "test-data/Unlimited Games.tja" # NB: Contains 5 charts
fumen, tja = main(fnameFumen=fnameFumen, fnameTJA=fnameTJA) fumen, convertedTJAs = main(fnameFumen=fnameFumen, fnameTJA=fnameTJA)
for course, song in convertedTJAs.items():
outputName = ".".join(fnameTJA.split('.')[0:-1]) + f"_{course}.bin"
outputFile = open(outputName, "wb")
writeFumen(outputFile, song)