[BACKEND] Move files from working to output directory instead of copying (#104)

* [BACKEND] Move files from working to output directory instead of copying

* still copy split video thumbnails
This commit is contained in:
Jesse Bannon 2022-07-17 22:43:49 -07:00 committed by GitHub
parent 605de74697
commit f66596d1a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 8 deletions

View file

@ -148,7 +148,7 @@ class Subscription:
and self.downloader_class.supports_download_archive
)
def _copy_entry_files_to_output_directory(
def _move_entry_files_to_output_directory(
self, entry: Entry, entry_metadata: Optional[FileMetadata] = None
):
"""
@ -288,7 +288,7 @@ class Subscription:
if optional_plugin_entry_metadata:
entry_metadata.extend(optional_plugin_entry_metadata)
self._copy_entry_files_to_output_directory(
self._move_entry_files_to_output_directory(
entry=entry, entry_metadata=entry_metadata
)

View file

@ -1,6 +1,6 @@
import os
import shutil
from pathlib import Path
from shutil import copyfile
from typing import Any
from typing import Dict
from typing import List
@ -186,7 +186,19 @@ class FileHandler:
dst_file_path
Destination file
"""
copyfile(src=src_file_path, dst=dst_file_path)
shutil.copyfile(src=src_file_path, dst=dst_file_path)
@classmethod
def move(cls, src_file_path: Union[str, Path], dst_file_path: Union[str, Path]):
"""
Parameters
----------
src_file_path
Source file
dst_file_path
Destination file
"""
shutil.move(src=src_file_path, dst=dst_file_path)
@classmethod
def delete(cls, file_path: Union[str, Path]):
@ -199,7 +211,7 @@ class FileHandler:
if os.path.isfile(file_path):
os.remove(file_path)
def copy_file_to_output_directory(
def move_file_to_output_directory(
self, file_name: str, output_file_name: str, file_metadata: Optional[FileMetadata] = None
):
"""
@ -223,7 +235,7 @@ class FileHandler:
if not self.dry_run:
output_file_path = Path(self.output_directory) / output_file_name
os.makedirs(os.path.dirname(output_file_path), exist_ok=True)
self.copy(
self.move(
src_file_path=Path(self.working_directory) / file_name,
dst_file_path=output_file_path,
)

View file

@ -321,7 +321,7 @@ class EnhancedDownloadArchive:
a. self._load()
Checks the output directory to see if an existing enhanced download archive file
exists. If so, load it into the class. Otherwise, initialize an empty instance of one.
b. self._copy_to_working_directory()
b. self._move_to_working_directory()
If the download archive was loaded successfully, create a ytdl download archive in the
working directory. This will let ytdl know which files are already downloaded.
2. ( Perform the ytdlp download using a download archive with the same name )
@ -576,7 +576,7 @@ class EnhancedDownloadArchive:
if entry:
self.mapping.add_entry(entry=entry, entry_file_path=output_file_name)
self._file_handler.copy_file_to_output_directory(
self._file_handler.move_file_to_output_directory(
file_name=file_name, file_metadata=file_metadata, output_file_name=output_file_name
)