fix(lib): correctly caching and simplified structure

This commit is contained in:
Jérome Eertmans
2023-08-04 13:32:51 +02:00
parent 738c54f9a6
commit aace5dea11

View File

@ -9,7 +9,6 @@ from typing import (
MutableMapping, MutableMapping,
Optional, Optional,
Sequence, Sequence,
Set,
Tuple, Tuple,
ValuesView, ValuesView,
) )
@ -478,23 +477,12 @@ class Slide(Scene): # type:ignore
""" """
self.__add_last_slide() self.__add_last_slide()
self.__output_folder.mkdir(parents=True, exist_ok=True)
files_folder = self.__output_folder / "files" files_folder = self.__output_folder / "files"
files_folder.mkdir(exist_ok=True)
scene_name = str(self) scene_name = str(self)
scene_files_folder = files_folder / scene_name scene_files_folder = files_folder / scene_name
old_animation_files: Set[Path] = set() scene_files_folder.mkdir(parents=True, exist_ok=True)
if not scene_files_folder.exists():
scene_files_folder.mkdir()
elif not use_cache:
shutil.rmtree(scene_files_folder)
scene_files_folder.mkdir()
else:
old_animation_files.update(scene_files_folder.iterdir())
files = [] files = []
for src_file in tqdm( for src_file in tqdm(
@ -510,24 +498,16 @@ class Slide(Scene): # type:ignore
# but animations before a will have a None src_file # but animations before a will have a None src_file
continue continue
filename = src_file.name dst_file = scene_files_folder / src_file.name
rev_filename = ( rev_file = scene_files_folder / f"{src_file.stem}_reversed{src_file.suffix}"
src_file.parent / f"{src_file.stem}_reversed{src_file.suffix}"
)
dst_file = scene_files_folder / filename
# We only copy animation if it was not present # We only copy animation if it was not present
if filename in old_animation_files: if not use_cache or not dst_file.exists():
old_animation_files.remove(filename)
else:
shutil.copyfile(src_file, dst_file) shutil.copyfile(src_file, dst_file)
# We only reverse video if it was not present # We only reverse video if it was not present
if rev_filename in old_animation_files: if not use_cache or not rev_file.exists():
old_animation_files.remove(rev_filename) reverse_video_file(src_file, rev_file)
else:
rev_file = scene_files_folder / rev_filename
if not rev_file.exists():
reverse_video_file(src_file, rev_file)
files.append(dst_file) files.append(dst_file)