From bfcc538ed1961bca2611e806f72edada98783575 Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 23 Mar 2022 16:20:33 +0700 Subject: [PATCH] fix concurrency issue with subtitle indexing --- tubearchivist/home/src/index/reindex.py | 2 ++ tubearchivist/home/src/index/video.py | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tubearchivist/home/src/index/reindex.py b/tubearchivist/home/src/index/reindex.py index 842e254..1494e5a 100644 --- a/tubearchivist/home/src/index/reindex.py +++ b/tubearchivist/home/src/index/reindex.py @@ -155,6 +155,8 @@ class Reindex: return video.delete_subtitles() + video.check_subtitles() + # add back video.json_data["player"] = player video.json_data["date_downloaded"] = date_downloaded diff --git a/tubearchivist/home/src/index/video.py b/tubearchivist/home/src/index/video.py index cbeb69b..d59650f 100644 --- a/tubearchivist/home/src/index/video.py +++ b/tubearchivist/home/src/index/video.py @@ -296,7 +296,6 @@ class YoutubeVideo(YouTubeItem, YoutubeSubtitle): self._add_stats() self.add_file_path() self.add_player() - self._check_subtitles() if self.config["downloads"]["integrate_ryd"]: self._get_ryd_stats() @@ -441,7 +440,7 @@ class YoutubeVideo(YouTubeItem, YoutubeSubtitle): return True - def _check_subtitles(self): + def check_subtitles(self): """optionally add subtitles""" handler = YoutubeSubtitle(self) subtitles = handler.get_subtitles() @@ -451,8 +450,9 @@ class YoutubeVideo(YouTubeItem, YoutubeSubtitle): def delete_subtitles(self): """delete indexed subtitles""" + path = "ta_subtitle/_delete_by_query?refresh=true" data = {"query": {"term": {"youtube_id": {"value": self.youtube_id}}}} - _, _ = ElasticWrap("ta_subtitle/_delete_by_query").post(data=data) + _, _ = ElasticWrap(path).post(data=data) def index_new_video(youtube_id): @@ -462,5 +462,6 @@ def index_new_video(youtube_id): if not video.json_data: raise ValueError("failed to get metadata for " + youtube_id) + video.check_subtitles() video.upload_to_es() return video.json_data