From 2ece669bde13a06f87eeec7a601625584cd64416 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 12 Jun 2025 08:10:50 -0700 Subject: [PATCH] 19529 fix custom script path --- netbox/extras/migrations/0129_fix_script_paths.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/netbox/extras/migrations/0129_fix_script_paths.py b/netbox/extras/migrations/0129_fix_script_paths.py index 4c016178e..de330d75a 100644 --- a/netbox/extras/migrations/0129_fix_script_paths.py +++ b/netbox/extras/migrations/0129_fix_script_paths.py @@ -1,10 +1,15 @@ from django.conf import settings from django.core.files.storage import storages from django.db import migrations +from urllib.parse import urlparse from extras.storage import ScriptFileSystemStorage +def normalize(url): + return url if urlparse(url).path else url + "/" + + def fix_script_paths(apps, schema_editor): """ Fix script paths for scripts that had incorrect path from NB 4.3. @@ -14,9 +19,10 @@ def fix_script_paths(apps, schema_editor): return ScriptModule = apps.get_model('extras', 'ScriptModule') + script_root_path = normalize(settings.SCRIPTS_ROOT) for script in ScriptModule.objects.all(): - if script.file_path.startswith(settings.SCRIPTS_ROOT): - script.file_path = script.file_path[len(settings.SCRIPTS_ROOT):] + if script.file_path.startswith(script_root_path): + script.file_path = script.file_path[len(script_root_path):] script.save()