diff --git a/sticker_ripper.py b/sticker_ripper.py new file mode 100644 index 0000000..79d9554 --- /dev/null +++ b/sticker_ripper.py @@ -0,0 +1,31 @@ +import zipfile +import os +from shutil import copyfile +from shutil import move +from shutil import rmtree +from pathlib import Path +from PIL import Image +import random + +path = 'convert' +folder = os.fsencode(path) +todelete = ['/edit_info.json', '/meta.json', '/settings.xml', '/sketch.xml', '/thumbnail.jpg'] + +for file in os.listdir(folder): + sketch = os.fsdecode(file) + if sketch.endswith(('.sktz')): + directoryname = sketch[0:len(sketch)-5] + try: + os.mkdir('convert/' + directoryname) + print(directoryname + ".sktz converted") + except: + print(directoryname + ".sktz has already been converted, skipping") + with zipfile.ZipFile("convert/" + sketch, 'r') as zip_ref: #extract the contents of the sktz file + zip_ref.extractall('convert/' + directoryname) + counter = 0 + for x in range (0,5): + os.remove('convert/' + directoryname + todelete[x]) + for sticker in os.listdir('convert/' + directoryname + "/layers"): #count every sticker in the file + sticker = os.fsdecode(sticker) + move('convert/' + directoryname + "/layers/" + str(sticker), 'convert/' + directoryname + "/" + str(sticker)) + rmtree('convert/' + directoryname + "/layers")