# Copyright (C) 2020 by Animath # SPDX-License-Identifier: GPL-3.0-or-later import os from django.conf import settings _client = None def get_sympa_client(): global _client if _client is None: if settings.SYMPA_PASSWORD is not None: # pragma: no cover from sympasoap import Client _client = Client("https://" + settings.SYMPA_URL) _client.login(settings.SYMPA_EMAIL, settings.SYMPA_PASSWORD) else: _client = FakeSympaSoapClient() return _client class FakeSympaSoapClient: """ Simulate a Sympa Soap client to run tests, if no Sympa instance is connected. """ def __getattribute__(self, item): return lambda *args, **kwargs: None