Skip to content
Extraits de code Groupes Projets

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)