from zipfile import ZipFile | |
import os | |
from pathlib import Path | |
# Extract the collection file or deck file to get the .anki21 database. | |
def extract(file, prefix): | |
proj_dir = Path( | |
f'projects/{prefix}_{file.orig_name.replace(".", "_").replace("@", "_")}' | |
) | |
with ZipFile(file, "r") as zip_ref: | |
zip_ref.extractall(proj_dir) | |
# print(f"Extracted {file.orig_name} successfully!") | |
return proj_dir | |
def cleanup(proj_dir: Path, files): | |
""" | |
Delete all files in prefix that dont have filenames in files | |
:param proj_dir: | |
:param files: | |
:return: | |
""" | |
for file in proj_dir.glob("*"): | |
if file.name not in files: | |
os.remove(file) | |