Skip to content

Instantly share code, notes, and snippets.

@TylerLeite
Last active September 4, 2022 19:22
Show Gist options
  • Save TylerLeite/a9dad4adc53f12b8f721 to your computer and use it in GitHub Desktop.
Save TylerLeite/a9dad4adc53f12b8f721 to your computer and use it in GitHub Desktop.
.cod to .dec file converter
from os import remove
from uuid import uuid4
def get_xml_tag(line):
tag = line = line.strip(' ').strip('<')
tag = tag.split(' ')[0]
if '>' in tag:
tag = tag.split('>')[0]
return tag
def open_cod(filename):
deckname = ''
current_board = 'main'
main_board_ct = list()
main_board_names = list()
side_board_ct = list()
side_board_names = list()
main_board = dict()
side_board = dict()
with open(filename) as text:
for line in text:
tag = get_xml_tag(line)
if tag == 'deckname':
#fix this later
deckname = line.split(">")
deckname = deckname[1]
deckname = deckname.split("<")
deckname = deckname[0]
elif tag == 'zone' and 'main' in line:
current_board = 'main'
elif tag == 'zone' and 'side' in line:
current_board = 'side'
line = line.split('=')
elif tag == 'card':
line = line.strip(' ')
line_parts = line.split('number="')
number = line_parts[1].split('"')[0]
line_parts = line.split('name="')
name = line_parts[1].split('"')[0]
if current_board == 'main':
main_board_ct.append(number)
main_board_names.append(name)
else:
side_board_ct.append(number)
side_board_names.append(name)
main_board = zip(main_board_ct, main_board_names)
side_board = zip(side_board_ct, side_board_names)
return deckname, main_board, side_board
def write_dec(deckname, main_board, side_board):
out = ''
if not deckname:
deckname = 'Untitled_Deck_' + uuid4().hex
for ct, name in main_board:
out += ct + ' ' + name + '\n'
for ct, name in side_board:
out += 'SB: ' + ct + ' ' + name + '\n'
f = open(deckname + '.dec', 'w')
f.write(out)
f.close()
def main():
cod_name = input('Please enter the name of the file to convert (include .cod extension): ')
while cod_name.split('.')[-1] != 'cod':
cod_name = input('Incorrect filetype. Please enter the name of a .cod file: ')
deckname, main_board, side_board = open_cod(cod_name)
write_dec(deckname, main_board, side_board)
main()
@Philip61978
Copy link

How do i use it to covert files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment