52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
def encode(targetdir):
|
|
import os
|
|
from tqdm import tqdm
|
|
directory = targetdir
|
|
selection = []
|
|
files = {}
|
|
global total
|
|
total = 0
|
|
def listdirs(target):
|
|
global total
|
|
scandirobj = os.scandir(target)
|
|
temp = 0
|
|
for i in scandirobj:
|
|
temp += 1
|
|
total += 0.1
|
|
for it in os.scandir(target):
|
|
if it.is_dir():
|
|
selection.append(it.path.replace(directory, ""))
|
|
listdirs(it)
|
|
else:
|
|
file = open(it.path, 'rb')
|
|
file = file.read()
|
|
files[it.path.replace(directory, "")] = file
|
|
|
|
listdirs(directory)
|
|
output = {}
|
|
output["selection"] = selection
|
|
output["files"] = files
|
|
return output
|
|
|
|
def decode(cffjdata):
|
|
from tkinter import messagebox
|
|
import os
|
|
from tqdm import tqdm
|
|
import ast
|
|
try:
|
|
file = cffjdata
|
|
if os.path.exists("output"):
|
|
os.rmdir("output")
|
|
os.mkdir("output")
|
|
else:
|
|
os.mkdir("output")
|
|
for i in file["selection"]:
|
|
os.makedirs("output/"+i)
|
|
for i in file["files"]:
|
|
file2 = open("output/"+i, 'wb')
|
|
file2.write(file["files"][i])
|
|
file2.close()
|
|
except Exception as e:
|
|
messagebox.showerror("fehler", "fehler cffj datei korrupt fehler: {}".format(e))
|
|
|