scripts/sticker_ripper.py

32 lines
1.2 KiB
Python

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")