#: Récupération des sagas MP3
import sagas
-GATHERING_MODULES = [youtube, lastdtc, comics, sagas]
+#: Récupération des tumblr
+import tumblr
+
+GATHERING_MODULES = [youtube, lastdtc, comics, sagas, tumblr]
def generate_errmsg(id):
errmsg = "Erreur à la récupération de %s :\n" % id
#: La liste des chaînes Youtube à surveiller
youtube_channels_file = "youtube_channels"
+#: La list des tumblr à surveiller
+tumblrs_file = "tumblrs"
+
#: Path du directory du module de gestion des quotes DTC
dtc_path = "/home/vincent/scripts/dtc/"
--- /dev/null
+#!/usr/bin/env python
+# -*- encoding: utf-8 -*-
+
+""" Gestion des tumblr """
+
+import urllib
+from lxml import etree
+import re
+
+import serverconfig
+
+def get_rss(url):
+ """Récupère un flux RSS et le etree-parse"""
+ p = urllib.urlopen(url)
+ t = p.read()
+ x = etree.fromstring(t)
+ return x
+
+def get_last_id(tree):
+ """Récupère le dernier tumblrid dans l'arbre"""
+ lastguid = tree.xpath("//item/guid")[0]
+ lastid = re.findall("/(\d+)$", lastguid.text)[0]
+ return int(lastid)
+
+def get_parser(domain):
+ """ Renvoie un parseur de tumblt prêt à être appelé """
+ def local_parser():
+ return get_last_id(get_rss("http://%s.tumblr.com/rss" % (domain,)))
+ return local_parser
+
+tumblrs = serverconfig.load_file(serverconfig.tumblrs_file)
+functions = {id : get_parser(domain) for (id, domain) in tumblrs}