Tym-Project

From: SUPINFO
To: Tous
Subject: IT

Xbmc : Un Script Pour Déclencher La Mise à Jour De La Librairie

Xbmc possède des scrapers très puissants, ce qui permet d’avoir une librairie enrichie d’images et autre bonus venant du web. Par défaut il existe deux moyens de mettre à jour la librairie : au démarrage de l’application ou manuellement. Pourquoi pas, mais quid d’un média center qui reste allumé longtemps (et donc Xbmc qui ne redémarre pas) ?

Grâce à l’API Json de Xbmc il est possible de déclencher cette mise à jour via un script. Pensez bien à activer l’interface web de Xbmc au préalable !
En Python voici ce que cela donne pour la librairie vidéo :

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/python

import urllib2

req = urllib2.Request("http://127.0.0.1:8090/jsonrpc")
req.method = 'POST'
req.content_type = 'application/json'

data='{"jsonrpc": "2.0", "method": "VideoLibrary.ScanForContent", "id": 1}'

urllib2.urlopen(req, data)

Edit du 24/12/2011 - Voici aussi la version compatible python 3 :

1
2
3
4
5
6
7
8
9
#!/usr/bin/python3.2

import urllib.request

req = urllib.request.Request("http://127.0.0.1:8090/jsonrpc")
req.method = 'POST'
req.content_type = 'application/json'
data=b'{"jsonrpc": "2.0", "method": "VideoLibrary.ScanForContent", "id": 1}'
urllib.request.urlopen(req, data)

Bien entendu cela fonctionne aussi avec la musique :

data='{"jsonrpc": "2.0","method": "AudioLibrary.ScanForContent", "id": 1}'

Ensuite il vous suffit d’appeler ce script depuis un crontab, ou pourquoi pas depuis SABnzbd ?

Bon scrapping ;-)

Comments