From 0a0f609de89d2d93d594067f9c803f9449b89071 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Wed, 23 Feb 2022 22:02:01 -0500 Subject: [PATCH] Implemented garbage collection after each subtitles synchronization. --- bazarr/subsyncer.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bazarr/subsyncer.py b/bazarr/subsyncer.py index 05d27e9dc..a9893b4c5 100644 --- a/bazarr/subsyncer.py +++ b/bazarr/subsyncer.py @@ -1,5 +1,6 @@ import logging import os +import gc from ffsubsync.ffsubsync import run, make_parser from utils import get_binary from utils import history_log, history_log_movie @@ -53,12 +54,18 @@ class SubSyncer: unparsed_args.append('--make-test-case') parser = make_parser() self.args = parser.parse_args(args=unparsed_args) + if os.path.isfile(self.srtout): + os.remove(self.srtout) + logging.debug('BAZARR deleted the previous subtitles synchronization attempt file.') result = run(self.args) except Exception: logging.exception('BAZARR an exception occurs during the synchronization process for this subtitles: ' '{0}'.format(self.srtin)) + gc.collect() + return else: if settings.subsync.getboolean('debug'): + gc.collect() return result if os.path.isfile(self.srtout): if not settings.subsync.getboolean('debug'): @@ -82,6 +89,8 @@ class SubSyncer: else: logging.error('BAZARR unable to sync subtitles: {0}'.format(self.srtin)) + gc.collect() + return result