Aller au contenu

Utilisation Avancée

Si vous exécutez votre code dans une boucle d’événements asyncio, vous pouvez utiliser async_notify() pour envoyer des notifications sans bloquer.

import asyncio
import apprise
async def main():
apobj = apprise.Apprise()
apobj.add('mailto://user:pass@example.com')
# Attendre l'envoi de la notification
await apobj.async_notify(
title='Test asynchrone',
body='Ceci a été envoyé de manière asynchrone',
)
asyncio.run(main())

Les objets Apprise peuvent être sérialisés (pickled). Cela vous permet de configurer un objet Apprise une seule fois, de l’enregistrer sur disque (ou dans une base de données), puis de le recharger plus tard avec tous ses services déjà configurés.

import apprise
import pickle
# 1. Configuration
apobj = apprise.Apprise()
apobj.add("json://localhost")
# 2. Sérialisation
serialized_data = pickle.dumps(apobj)
# ... plus tard dans votre code ...
# 3. Restauration
restored_obj = pickle.loads(serialized_data)
restored_obj.notify("Je suis de retour !")

Lorsque vous appelez Apprise.notify(), Apprise gère pour vous les tags, la configuration et la journalisation. Si vous devez contourner cela et interagir directement avec un objet de notification précis :

import apprise
# Instancier directement un seul objet de notification
# (en contournant le gestionnaire Apprise())
obj = apprise.Apprise.instantiate('glib://')
# Envoyer un contenu brut
obj.send(
body="Message brut",
title="Titre brut"
)

Apprise envoie chaque notification via requests, qui respecte automatiquement les variables d’environnement standard HTTP_PROXY, HTTPS_PROXY et NO_PROXY. Aucune configuration spécifique à Apprise n’est nécessaire : définissez la variable avant de démarrer votre processus (ou exportez-la dans l’environnement dans lequel Apprise s’exécute) et chaque requête sortante passera par le proxy :

Fenêtre de terminal
export HTTPS_PROXY="http://127.0.0.1:3128"
export HTTP_PROXY="http://127.0.0.1:3128"
python3 my_script.py

Si vous souhaitez que seul Apprise passe par le proxy (et non le reste de votre application), limitez la variable au sous-processus ou à l’environnement qui exécute Apprise plutôt que de l’exporter globalement — par exemple en la définissant pour une seule commande, ou dans la directive Environment= d’une unité systemd pour un service de longue durée.

NO_PROXY est également respectée, ce qui permet d’exempter certains hôtes :

Fenêtre de terminal
export HTTPS_PROXY="http://127.0.0.1:3128"
export NO_PROXY="localhost,127.0.0.1,internal.example.com"
Questions ou commentaires ?

Documentation

Vous avez repéré une faute de frappe ou une erreur ?

Problèmes Techniques

Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :

Conçu avec amour depuis le Canada