27 lines
712 B
Python
27 lines
712 B
Python
# Copyright (C) 2020 by Animath
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
import os
|
|
|
|
_client = None
|
|
|
|
|
|
def get_sympa_client():
|
|
global _client
|
|
if _client is None:
|
|
if os.getenv("SYMPA_PASSWORD", None): # pragma: no cover
|
|
from sympasoap import Client
|
|
_client = Client("https://" + os.getenv("SYMPA_URL"))
|
|
_client.login(os.getenv("SYMPA_EMAIL"), os.getenv("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
|