diff --git a/plugins/DupFileManager/StashPluginHelper.py b/plugins/DupFileManager/StashPluginHelper.py index aec4dd0..00c3fad 100644 --- a/plugins/DupFileManager/StashPluginHelper.py +++ b/plugins/DupFileManager/StashPluginHelper.py @@ -511,20 +511,25 @@ class StashPluginHelper(StashInterface): if self._mergeMetadata == None: self.initMergeMetadata(excludeMergeTags) errMsg = None + stopRetry = False for i in range(0, retryCount): try: - if errMsg != None: - self.Warn(errMsg) if type(SrcData) is int: SrcData = self.find_scene(SrcData) DestData = self.find_scene(DestData) return self._mergeMetadata.merge(SrcData, DestData) - except (requests.exceptions.ConnectionError, ConnectionResetError): + except (requests.exceptions.ConnectionError, ConnectionResetError) as e: tb = traceback.format_exc() errMsg = f"Exception calling [mergeMetadata]. Will retry; count({i}); Error: {e}\nTraceBack={tb}" except Exception as e: tb = traceback.format_exc() - errMsg = f"Exception calling [mergeMetadata]. Will retry; count({i}); Error: {e}\nTraceBack={tb}" + errMsg = f"Data Exception calling [mergeMetadata]. Will not retry; count({i}); Error: {e}\nTraceBack={tb}" + stopRetry = True + + if errMsg != None: + self.Warn(errMsg) + if stopRetry: + break time.sleep(sleepSecondsBetweenRetry) def getUpdateProgressBarIter(self, qtyResults):