From a8f303c941f520de6e3c8c7af9d6ec3c1af48a24 Mon Sep 17 00:00:00 2001 From: sascha Date: Sat, 12 Sep 2026 21:44:42 +0200 Subject: [PATCH 1/3] Rollback temporary native-scan PoC hold --- fileflows/scripts/Radarr_-_Trigger_Manual_Import.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/fileflows/scripts/Radarr_-_Trigger_Manual_Import.js b/fileflows/scripts/Radarr_-_Trigger_Manual_Import.js index 79da0e2..04cd807 100644 --- a/fileflows/scripts/Radarr_-_Trigger_Manual_Import.js +++ b/fileflows/scripts/Radarr_-_Trigger_Manual_Import.js @@ -2,7 +2,7 @@ * @name Radarr - Trigger Manual Import * @description Safely trigger Radarr ManualImport for exactly one processed file. * @author FileFlows + Sascha - * @revision 12 + * @revision 11 * @output Import erfolgreich * @output Fehler * @param {string} URL Radarr root URL and port @@ -11,12 +11,11 @@ * @param {bool} UseUnmappedPath Whether to Unmap the path * @param {bool} MoveMode Import mode: true=move, false=copy * @param {int} TimeOut Timeout in seconds (max 3600) - * @param {string} PocHoldRelease Exact release title to leave for an external native-scan proof */ import { Radarr } from 'Shared/Radarr'; -function Script(URL, ApiKey, ImportPath, UseUnmappedPath, MoveMode, TimeOut, PocHoldRelease) { +function Script(URL, ApiKey, ImportPath, UseUnmappedPath, MoveMode, TimeOut) { URL = (URL || Variables['Radarr.Url'] || Variables['Radarr.URI']).replace(/\/+$/g, ''); ApiKey = ApiKey || Variables['Radarr.ApiKey']; const currentFile = Variables['file.FullName'] || Variables.file?.FullName || ''; @@ -54,11 +53,7 @@ function Script(URL, ApiKey, ImportPath, UseUnmappedPath, MoveMode, TimeOut, Poc const searchPatterns = [folderPattern, filePattern] .filter(Boolean) .filter((value, index, values) => values.indexOf(value) === index); - const pocHold = normalizeReleaseTitle(PocHoldRelease || ''); - if (pocHold && searchPatterns.some(pattern => normalizeReleaseTitle(pattern) === pocHold)) { - Logger.ILog(`PoC hold: leaving '${exactImportPath}' on NVMe for external native Arr scan.`); - return 1; - } + let movieId = Variables['Radarr.movieId'] ?? null; for (const pattern of searchPatterns) { if (!movieId) { From 5960a263b9e66e7d394577e320089ad47eb9e452 Mon Sep 17 00:00:00 2001 From: sascha Date: Sat, 12 Sep 2026 21:44:43 +0200 Subject: [PATCH 2/3] Rollback temporary native-scan PoC hold --- fileflows/flow/flow_auto_movie_pipeline.json | 1 - 1 file changed, 1 deletion(-) diff --git a/fileflows/flow/flow_auto_movie_pipeline.json b/fileflows/flow/flow_auto_movie_pipeline.json index e0acd9d..95bc959 100644 --- a/fileflows/flow/flow_auto_movie_pipeline.json +++ b/fileflows/flow/flow_auto_movie_pipeline.json @@ -353,7 +353,6 @@ "UseUnmappedPath": false, "MoveMode": true, "TimeOut": 900, - "PocHoldRelease": "The.Ritual.2017.German.DL.1080p.WEB.x264.iNTERNAL-BiGiNT", "Color": "" } }, From fb1271ba8b76a83f0358d40c31cd123fccd26aef Mon Sep 17 00:00:00 2001 From: sascha Date: Sat, 12 Sep 2026 21:44:43 +0200 Subject: [PATCH 3/3] Rollback temporary native-scan PoC hold --- fileflows/tests/test_radarr_import_safety.py | 30 +------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/fileflows/tests/test_radarr_import_safety.py b/fileflows/tests/test_radarr_import_safety.py index 7216a2f..b281ec2 100644 --- a/fileflows/tests/test_radarr_import_safety.py +++ b/fileflows/tests/test_radarr_import_safety.py @@ -61,8 +61,7 @@ const result = context.__exports.Script( scenario.scopeRoot, false, true, - 300, - scenario.pocHoldRelease || '' + 300 ); process.stdout.write(JSON.stringify({result, calls})); """ @@ -263,33 +262,6 @@ class RadarrImportSafetyTests(unittest.TestCase): self.assertEqual(result["result"], 1) command = next(call for call in result["calls"] if call["type"] == "command") self.assertEqual(command["body"]["files"][0]["movieId"], 7331) - def test_poc_hold_leaves_exact_release_for_external_native_scan(self): - release = "The.Ritual.2017.German.DL.1080p.WEB.x264.iNTERNAL-BiGiNT" - exact = f"/tdarr/converted/video/{release}/{release}.mkv" - result = run_script( - { - "releaseTitle": release, - "exactPath": exact, - "scopeRoot": "/tdarr/converted/video/", - "pocHoldRelease": release, - "queueResponse": {"records": [{"title": release, "movieId": 6676}]}, - "historyResponse": { - "records": [ - { - "sourceTitle": release, - "movieId": 6676, - "downloadId": "poc-nzo-id", - "eventType": "grabbed", - } - ] - }, - "candidates": [], - } - ) - - self.assertEqual(result["result"], 1) - commands = [call for call in result["calls"] if call["type"] == "command"] - self.assertEqual(commands, []) if __name__ == "__main__":