Sauvergarder un article sur Wallabag depuis Newsbeuter

Posté le ven., 25 nov. 2016

Sauvergarder un article sur Wallabag depuis Newsbeuter

Newsbeuter est un client rss en mode console ayant la particularité d’avoir un système de favoris modulaire. Cela permet donc d’appeler une commande à chaque fois que l’on marque un article comme favori. Dans le cas présent, nous utiliserons un simple script python qui se chargera d’envoyer l’url, le titre et même les tags à notre instance de Wallabag.

Pour faire des appels à l’API nous utiliserons l’implémentation par @foxmask :

pip install --user wallabag_api

Copiez les quelques lignes ci-dessous dans un nouveau fichier. Pour l’exemple nous l’appellerons script.py.

Warning

N’oubliez pas qu’il contiendra votre identifiant et mot de passe donc assurez vous qu’il soit à l’abri des regards indiscrets, par exemple, en modifiant les permissions : chmod 700 script.py.

Profitez-en pour modifier les valeurs dans params & my_host en fonction de votre instance de wallabag.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 #!/usr/bin/env python3

 import sys
 from wallabag_api.wallabag import Wallabag

 # settings
 params = {'username': 'username',
         'password': 'password',
         'client_id': 'client_id',
         'client_secret': 'client_secret'}

 my_host = 'https://host.com'

 # get token
 token = Wallabag.get_token(host=my_host, **params)

 # create a post
 wall = Wallabag(host=my_host, client_secret='mysecret', client_id='myid',
                 token=token)

 my_url = sys.argv[1]
 my_title = sys.argv[2]
 #  We are using newsbeuter description entry to provide wallabag tags.
 #  Tags must be separated by a comma.
 try:
     my_tags = sys.argv[3].split(',')
     wall.post_entries(url=my_url, title=my_title, tags=my_tags)
 except IndexError:
     wall.post_entries(url=my_url, title=my_title)

Il nous suffit ensuite de configurer Newsbeuter pour lancer ce script à chaque fois que nous mettons en favoris un article. Ajoutez la ligne suivante au fichier de configuration situé dans ~/.newsbeuter/config :

bookmark-cmd "/chemin-du-script/script.py"

C’est prêt ! Mais n’oubliez pas que nous utilisons le champ de description pour fournir les tags (séparés par une virgule) à Wallabag.

© octogene. Propulsé par Pelican. Thème adapté à partir de pelican-svbhack disponible sur github.