This commit is contained in:
Jesse Bannon 2022-11-26 12:51:51 -08:00
parent 41cef6af3e
commit 7cb2df9d09
6 changed files with 30 additions and 20 deletions

View file

@ -23,9 +23,11 @@ class Entry(EntryVariables, BaseEntry):
This is not reflected in the entry. See if the mkv file exists and return "mkv" if so, This is not reflected in the entry. See if the mkv file exists and return "mkv" if so,
otherwise, return the original extension. otherwise, return the original extension.
""" """
mkv_file_path = str(Path(self.working_directory()) / f"{self.uid}.mkv") for possible_ext in [super().ext, "mkv"]:
if os.path.isfile(mkv_file_path): file_path = str(Path(self.working_directory()) / f"{self.uid}.{possible_ext}")
return "mkv" if os.path.isfile(file_path):
return possible_ext
return super().ext return super().ext
def get_download_file_name(self) -> str: def get_download_file_name(self) -> str:

View file

@ -116,6 +116,7 @@ class FileConvertPlugin(Plugin[FileConvertOptions]):
------- -------
ffmpeg video remuxing post processing dict ffmpeg video remuxing post processing dict
""" """
if self.plugin_options.convert_with == "yt-dlp":
return { return {
"postprocessors": [ "postprocessors": [
{ {
@ -125,6 +126,7 @@ class FileConvertPlugin(Plugin[FileConvertOptions]):
} }
] ]
} }
return None
def modify_entry(self, entry: Entry) -> Optional[Entry]: def modify_entry(self, entry: Entry) -> Optional[Entry]:
""" """
@ -144,7 +146,10 @@ class FileConvertPlugin(Plugin[FileConvertOptions]):
ValidationException ValidationException
User ffmpeg arguments errored User ffmpeg arguments errored
""" """
# Get original_ext here since there is mkv/yt-dlp shenanigans
original_ext = entry.ext
new_ext = self.plugin_options.convert_to new_ext = self.plugin_options.convert_to
input_video_file_path = entry.get_download_file_path() input_video_file_path = entry.get_download_file_path()
converted_video_file_path = entry.get_download_file_path().removesuffix(entry.ext) + new_ext converted_video_file_path = entry.get_download_file_path().removesuffix(entry.ext) + new_ext
@ -157,9 +162,7 @@ class FileConvertPlugin(Plugin[FileConvertOptions]):
raise FileNotDownloadedException("Failed to find the input file") raise FileNotDownloadedException("Failed to find the input file")
if self.plugin_options.ffmpeg_post_process_args: if self.plugin_options.ffmpeg_post_process_args:
tmp_output_file = ( tmp_output_file = converted_video_file_path.removesuffix(new_ext) + f"tmp.{new_ext}"
converted_video_file_path.removesuffix(new_ext) + f".tmp.{new_ext}"
)
ffmpeg_args_list = self.overrides.apply_formatter( ffmpeg_args_list = self.overrides.apply_formatter(
self.plugin_options.ffmpeg_post_process_args self.plugin_options.ffmpeg_post_process_args
).split() ).split()
@ -177,11 +180,13 @@ class FileConvertPlugin(Plugin[FileConvertOptions]):
) )
FileHandler.move(tmp_output_file, converted_video_file_path) FileHandler.move(tmp_output_file, converted_video_file_path)
FileHandler.delete(tmp_output_file)
FileHandler.delete(input_video_file_path)
if entry.ext != new_ext: if original_ext != new_ext:
entry.add_kwargs( entry.add_kwargs(
{ {
"__converted_from": entry.ext, "__converted_from": original_ext,
} }
) )

View file

@ -61,7 +61,7 @@ class TestFileConvert:
"file_convert": { "file_convert": {
"convert_to": "mkv", "convert_to": "mkv",
"convert_with": "ffmpeg", "convert_with": "ffmpeg",
"ffmpeg_post_process_args": "-vcodec copy -acodec copy -scodec mov_text", "ffmpeg_post_process_args": "-bitexact -vcodec copy -acodec copy -scodec mov_text",
} }
}, },
) )

View file

@ -47,6 +47,8 @@ def assert_transaction_log_matches(
# Split, ensure there are the same number of new lines # Split, ensure there are the same number of new lines
summary_lines: List[str] = summary.split("\n") summary_lines: List[str] = summary.split("\n")
expected_summary_lines: List[str] = expected_summary.split("\n") expected_summary_lines: List[str] = expected_summary.split("\n")
print(summary_lines)
print(expected_summary_lines)
assert len(summary_lines) == len( assert len(summary_lines) == len(
expected_summary_lines expected_summary_lines
), f"Summary number of lines differ: {len(summary_lines) != len(expected_summary_lines)}" ), f"Summary number of lines differ: {len(summary_lines) != len(expected_summary_lines)}"

View file

@ -1,7 +1,7 @@
{ {
".ytdl-sub-file_convert_test-download-archive.json": "74813dccf4e9732e49f5dc3c2d66f3be", ".ytdl-sub-file_convert_test-download-archive.json": "74813dccf4e9732e49f5dc3c2d66f3be",
"Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3-thumb.jpg": "662fcaadf6e80d63591bac19a5fdffb0", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3-thumb.jpg": "662fcaadf6e80d63591bac19a5fdffb0",
"Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json": "29118ff7fad058437325513f60649dc8", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json": "3022131504a9df5d2fce266fada1ee3b",
"Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.mkv": "91b167c199a33cb6b6746506f135741f", "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.mkv": "b5f248b560f89f3f2a83fcdcd197d486",
"Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.nfo": "cacf09ab38f9b3085da9c5af516cf22a" "Beyond The Guitar/Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.nfo": "cacf09ab38f9b3085da9c5af516cf22a"
} }

View file

@ -6,6 +6,7 @@ Files created:
Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3-thumb.jpg Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3-thumb.jpg
Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.info.json
Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.mkv Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.mkv
Converted from webm
Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.nfo Beyond The Guitar - When you hear Hugh Jackman is returning as Wolverine in Deadpool 3.nfo
NFO tags: NFO tags:
musicvideo: musicvideo: