fix subtitle delete overwrite, change filename to .lang.vtt, #195
This commit is contained in:
parent
386c456415
commit
bbb0c26498
|
@ -153,6 +153,7 @@ class Reindex:
|
|||
date_downloaded = video.json_data["date_downloaded"]
|
||||
channel_dict = video.json_data["channel"]
|
||||
playlist = video.json_data.get("playlist")
|
||||
subtitles = video.json_data.get("subtitles")
|
||||
|
||||
# get new
|
||||
video.build_json()
|
||||
|
@ -160,7 +161,7 @@ class Reindex:
|
|||
video.deactivate()
|
||||
return
|
||||
|
||||
video.delete_subtitles()
|
||||
video.delete_subtitles(subtitles=subtitles)
|
||||
video.check_subtitles()
|
||||
|
||||
# add back
|
||||
|
|
|
@ -67,7 +67,7 @@ class YoutubeSubtitle:
|
|||
return False
|
||||
|
||||
video_media_url = self.video.json_data["media_url"]
|
||||
media_url = video_media_url.replace(".mp4", f"-{lang}.vtt")
|
||||
media_url = video_media_url.replace(".mp4", f".{lang}.vtt")
|
||||
all_formats = all_subtitles.get(lang)
|
||||
if not all_formats:
|
||||
return False
|
||||
|
@ -103,7 +103,7 @@ class YoutubeSubtitle:
|
|||
return False
|
||||
|
||||
video_media_url = self.video.json_data["media_url"]
|
||||
media_url = video_media_url.replace(".mp4", f"-{lang}.vtt")
|
||||
media_url = video_media_url.replace(".mp4", f".{lang}.vtt")
|
||||
all_formats = all_subtitles.get(lang)
|
||||
if not all_formats:
|
||||
# no user subtitles found
|
||||
|
@ -152,15 +152,19 @@ class YoutubeSubtitle:
|
|||
"""send subtitle to es for indexing"""
|
||||
_, _ = ElasticWrap("_bulk").post(data=query_str, ndjson=True)
|
||||
|
||||
def delete(self):
|
||||
def delete(self, subtitles=False):
|
||||
"""delete subtitles from index and filesystem"""
|
||||
youtube_id = self.video.youtube_id
|
||||
# delete files
|
||||
videos_base = self.video.config["application"]["videos"]
|
||||
if not self.video.json_data.get("subtitles"):
|
||||
return
|
||||
# delete files
|
||||
if subtitles:
|
||||
files = [i["media_url"] for i in subtitles]
|
||||
else:
|
||||
if not self.video.json_data.get("subtitles"):
|
||||
return
|
||||
|
||||
files = [i["media_url"] for i in self.video.json_data["subtitles"]]
|
||||
|
||||
files = [i["media_url"] for i in self.video.json_data["subtitles"]]
|
||||
for file_name in files:
|
||||
file_path = os.path.join(videos_base, file_name)
|
||||
try:
|
||||
|
@ -594,10 +598,10 @@ class YoutubeVideo(YouTubeItem, YoutubeSubtitle):
|
|||
)
|
||||
playlist.upload_to_es()
|
||||
|
||||
def delete_subtitles(self):
|
||||
def delete_subtitles(self, subtitles=False):
|
||||
"""delete indexed subtitles"""
|
||||
print(f"{self.youtube_id}: delete subtitles")
|
||||
YoutubeSubtitle(self).delete()
|
||||
YoutubeSubtitle(self).delete(subtitles=subtitles)
|
||||
|
||||
def _get_ryd_stats(self):
|
||||
"""get optional stats from returnyoutubedislikeapi.com"""
|
||||
|
|
Loading…
Reference in New Issue