Apply only when env vars are set.

This commit is contained in:
tecnovert
2025-04-14 18:21:54 +02:00
parent 7972a50341
commit d0e35d1846
2 changed files with 21 additions and 7 deletions

View File

@@ -2122,12 +2122,11 @@ def load_config(config_path):
def save_config(config_path, settings, add_options: bool = True) -> None:
if add_options is True:
if os.getenv("BSX_DOCKER_MODE") or "docker_mode" not in settings:
# Add to config file only if manually set
if os.getenv("BSX_DOCKER_MODE"):
settings["setup_docker_mode"] = BSX_DOCKER_MODE
if os.getenv("BSX_LOCAL_TOR") or "local_tor" not in settings:
if os.getenv("BSX_LOCAL_TOR"):
settings["setup_local_tor"] = BSX_LOCAL_TOR
# Add to settings only if manually set
if os.getenv("TOR_CONTROL_LISTEN_INTERFACE"):
settings["setup_tor_control_listen_interface"] = (
TOR_CONTROL_LISTEN_INTERFACE
@@ -2810,6 +2809,8 @@ def main():
if disable_tor:
logger.info("Disabling TOR")
settings = load_config(config_path)
if not settings.get("use_tor", False):
logger.info("TOR is not enabled.") # Continue anyway to clear any config
settings["use_tor"] = False
for coin in settings["chainclients"]:
modify_tor_config(

View File

@@ -189,11 +189,24 @@ class Test(unittest.TestCase):
with open(config_path) as fs:
settings = json.load(fs)
assert settings.get("use_tor", False) is False
assert settings["setup_docker_mode"] is False
assert settings["setup_local_tor"] is False
assert "setup_docker_mode" not in settings
assert "setup_local_tor" not in settings
assert "setup_tor_control_listen_interface" not in settings
assert "setup_torrc_dns_host" not in settings
# Set BSX_LOCAL_TOR to false
os.environ["BSX_LOCAL_TOR"] = "false"
# Reimport to reset globals and set env
importlib.reload(prepareSystem)
testargs = [
"basicswap-prepare",
"-datadir=" + test_path_plain,
"--disabletor",
]
with patch.object(sys, "argv", testargs):
prepareSystem.main()
os.environ["BSX_LOCAL_TOR"] = "true"
# Reimport to reset globals and set env
importlib.reload(prepareSystem)
@@ -224,7 +237,7 @@ class Test(unittest.TestCase):
with open(config_path) as fs:
settings = json.load(fs)
assert settings.get("use_tor", False) is True
assert settings["setup_docker_mode"] is False
assert "setup_docker_mode" not in settings
assert settings["setup_local_tor"] is True
assert settings["setup_tor_control_listen_interface"] == "127.1.1.1"
assert "setup_torrc_dns_host" not in settings