From 9da113ac60dd9b636489a0197c82ac0e27dc87b5 Mon Sep 17 00:00:00 2001 From: Wouter de Bruijn Date: Fri, 27 Feb 2026 13:43:56 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Added=20check=20for=20reading=20?= =?UTF-8?q?config=20file=20from=20netbox-zabbix-sync.py=20as=20root=20dir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- netbox_zabbix_sync/modules/settings.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/netbox_zabbix_sync/modules/settings.py b/netbox_zabbix_sync/modules/settings.py index 3d4f86f..c0ef5fd 100644 --- a/netbox_zabbix_sync/modules/settings.py +++ b/netbox_zabbix_sync/modules/settings.py @@ -2,6 +2,8 @@ Module for parsing configuration from the top level config.py file """ +from sys import argv + from importlib import util from logging import getLogger from os import environ, path @@ -114,6 +116,17 @@ def load_env_variable(config_environvar): def load_config_file(config_default, config_file="config.py"): """Returns config from config.py file""" + + first_cli_arg = argv[0] if len(argv) > 1 else None + config_path = None + + # If the script was run by the old .py file extension, use path as root of the config file. + if first_cli_arg and first_cli_arg.endswith(".py"): + logger.debug( + "Using legacy script path detection for config file location. Please switch to --config to specify the config file location." + ) + config_path = Path(first_cli_arg).parent / config_file + if not config_path or not config_path.exists(): # Find the script path and config file next to it. script_dir = path.dirname(path.dirname(path.dirname(path.abspath(__file__))))