2021-08-20 16:35:17 +02:00
|
|
|
#! /usr/bin/env python3
|
|
|
|
from sys import argv
|
2021-09-01 08:09:28 +02:00
|
|
|
import xmltodict
|
2021-08-20 16:35:17 +02:00
|
|
|
|
|
|
|
|
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)")
|
2021-08-20 16:35:17 +02:00
|
|
|
|
|
|
|
convert_to_string(*argv[1:])
|