Attrap_bot
Un robot de veille des Recueils des actes administratifs (RAA) qui utilise les données en ligne de Attrap.
Installation
Il est recommandé d'utiliser virtualenv :
virtualenv --python=/usr/bin/python3 .
source bin/activate
pip3 install -r requirements.txt
Utilisation
Les analyses se lancent avec cli.py
. L'option --config
ou -c
permet de spécifier le fichier de configuration (par défaut, config.yml
).
Gitlab CI
Vous pouvez planifier des pipelines pour lancer périodiquement Attrap_bot. Pour cela, vous devez configurer une ou plusieurs requêtes avec les variables d'environnement, et préciser l'identifiant de cache de votre requête dans la variable $CI_CACHE_KEY
.
Configuration
Vous pouvez configurer le robot avec un fichier de configuration ou avec des variables d'environnement.
Fichier de configuration
Le fichier config.default.yml
contient les paramètres par défaut, notamment la source des données. Copiez-le vers config.yml
et adaptez le fichier pour surcharger les paramètres par défaut.
Les requêtes sont spécifiées dans la section queries
, les paramètres pour envoyer les résultats par email dans smtp
et ceux pour envoyer les résultats sur Mastodon dans mastodon
. Exemple :
queries:
vsa_paris:
search: "\"traitement algorithmique\" AND 2023-380"
administration: "ppparis,pref75"
email: example_smtp
hashtag: vsa
vsa:
search: "\"traitement algorithmique\" AND 2023-380"
administration:
mastodon: mastodon_social
hashtag: vsa
email:
example_smtp:
from: "attrap@example.org"
to: "vsa@example.org"
hostname: "smtp.example.org"
port: 587
username: "attrap@example.org"
password: "secr3t!"
ssl: False
starttls: True
mastodon:
mastodon_social:
instance: "mastodon.social"
access_token: "a-secret-access-token-here"
toot: "[{administration_name}]\n\n{name} ({date})\n\n{url}\n\n{hashtags} #{administration}"
Variables d'environnement
Toutes les variables commencent par ATTRAP_BOT__
. Les noms des variables sont en majuscules et correspondent à leur équivalent dans config.yml
, séparés de __
. Pour lancer une analyse avec la même configuration que ci-dessus, utilisez les variables suivantes :
ATTRAP_BOT__QUERIES__VSA_PARIS__SEARCH="\"traitement algorithmique\" AND 2023-380" \
ATTRAP_BOT__QUERIES__VSA_PARIS__SEARCH="ppparis,pref75" \
ATTRAP_BOT__QUERIES__VSA_PARIS__EMAIL="example_smtp" \
ATTRAP_BOT__QUERIES__VSA_PARIS__HASHTAG="vsa" \
ATTRAP_BOT__QUERIES__VSA__SEARCH="\"traitement algorithmique\" AND 2023-380" \
ATTRAP_BOT__QUERIES__VSA__MASTODON="mastodon_social" \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__HOSTNAME="smtp.example.org" \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__FROM="attrap@example.org" \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__TO="vsa@example.org" \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__PORT=587 \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__USERNAME="attrap@example.org" \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__PASSWORD="secr3t\!" \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__SSL="False" \
ATTRAP_BOT__EMAIL__EXAMPLE_SMTP__STARTTLS="True" \
ATTRAP_BOT__MASTODON__MASTODON_SOCIAL__INSTANCE="mastodon.social" \
ATTRAP_BOT__MASTODON__MASTODON_SOCIAL__ACCESS_TOKEN="a-secret-access-token-here" \
ATTRAP_BOT__MASTODON__MASTODON_SOCIAL__TOOT="[{administration_name}]\n\n{name} ({date})\n\n{url}\n\n{hashtags} #{administration}" \
./cli.py
Pour spécifier une valeur boléenne, vous pouvez indiquer 0
/1
, False
/True
ou FalseFalse
/TrueTrue
(sensible à la casse).
La configuration par variables d'environnement est ignorée si un fichier config.yml
est trouvé.
Développement
Pour modifier le niveau de verbosité des logs, vous pouvez configurer la variable LOG_LEVEL
à DEBUG
, INFO
, WARNING
(par défaut) ou ERROR
.
Licence
CeCILL_V2.1-fr (voir le fichier LICENSE
)