Récupérer d'un serveur SYMPA, la liste des listes de diffusions inscrite en tant que membre d'une autre liste de diffusion et non incluse comme le veut la bonne pratique... ;) Ce script utilise la librairie sympasoap pour fonctionner.
- Avoir python d'installé >= v3.10
- Créer un environnement virtuel :
$ python -m venv .venv
- Le lancer:
$ source .venv/bin/activate
(Linux)$ call C:\chemin\vers\projet\env_nom_du_projet\Scripts\activate.bat
(windows)- ou
C:\chemin\vers\projet\env_nom_du_projet\Scripts\Activate.ps1
(windows powershell)
- Installer avec pip les dépendances du fichier requirements.txt dans l'environnement virtuel :
$ pip install -r requirements.txt
- Dans un terminal, à la racine du script faire la commande suivante :
$ python symlist_extractor.py *arg1 *arg2 *arg3
- Les arguments sont OBLIGATOIRES dans l'ordre strict suivant :
- arg1 = url serveur sympa sans /wsdl à la fin ( ex: http://nom_de_domaine.fr/sympa)
- arg2 = login administrateur ( ex : listmaster@sympa.nom_de_domaine.fr)
- arg3 = mot de passe administrateur (ex : mon_beau_mdp)
/!\ Note :
- Plus de 3 arguments => pas de prise en compte
- Moins de 3 arguments => le script sera en erreur
Après quelques minutes, vous obtiendrez en résultat un fichier JSON avec la structure suivante dans le dossier du script :
/!\ Note 2: Les clés du dictionnaire sont les listes de diffusion existantes sur votre serveur SYMPA et les valeurs sont les listes de diffusion qui sont abonnées à la liste et ne sont pas incluses depuis une source de données.
{
"security@domain_name.fr": [
"abuse@domain_name.fr",
"report@domain_name.fr",
"....",
]
}
v0.0.1 : initial release
GPLv3
Nicolas.renard_at_uha.fr