Asci/Tiled/converter

29 lines
989 B
Plaintext
Raw Normal View History

#! /usr/bin/env python3
from sys import argv
2021-09-01 08:09:28 +02:00
import xmltodict
2021-09-01 08:09:28 +02:00
def convert_to_string(filename):
output_filename, extension = filename.split('.')
2021-08-15 17:27:58 +02:00
char_list = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ "
2021-09-01 08:09:28 +02:00
with open(filename, "r") as file:
data = file.read()
2021-08-15 17:27:58 +02:00
2021-09-01 08:09:28 +02:00
if extension == "tmx":
data = xmltodict.parse(data)["map"]["layer"]["data"]["#text"].splitlines()
data = [[int(char_id) - 1 for char_id in line.split(",") if char_id] for line in data]
elif extension == "csv":
data = data.splitlines()
data = [[int(char_id) for char_id in line.split(",") if char_id] for line in data]
2021-08-15 17:27:58 +02:00
output = r""
for line in data:
for char_id in line:
output += char_list[char_id]
output += "\n"
2021-08-22 13:57:49 +02:00
with open(f"{output_filename}.py", "w") as file:
2021-09-01 08:09:28 +02:00
file.write(f"{output_filename} = (r\"\"\"\n{output[:-2]}\"\"\",\n)")
convert_to_string(*argv[1:])