X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=today_server.py;h=882b43b0f431fa0f4407f2b07f822a8ae95b8b32;hb=42caed7330ea14197ebd316a0b1bb49568b4aa79;hp=598a421fad662ec52baac72f42786947ef21c305;hpb=b51baa9dd11477238323855734eeefd82145d5e5;p=today.git diff --git a/today_server.py b/today_server.py index 598a421..882b43b 100755 --- a/today_server.py +++ b/today_server.py @@ -18,6 +18,8 @@ import sys import urllib import json import traceback +import inspect +import pprint os.chdir('/home/vincent/scripts/today/') sys.path.append("/home/vincent/scripts/dtc/") import dtc @@ -102,7 +104,7 @@ def last_noob_warpzone(): for serie in [noobs, warpzones]: # Les titres sont dans l'ordre antichronologique, on s'arrête donc au premier qu'on comprend for titre in serie: - if "noob le film" in titre or "making of" in titre: + if "noob le film" in titre or "making of" in titre or "noob versus rct" == titre: continue try: if DEBUG: @@ -139,6 +141,14 @@ def last_grenier(): titles = parse_youtube("joueurdugrenier") return len(titles) +def last_jl8(): + rss = urllib.urlopen("http://limbero.org/jl8/rss/") + t = rss.read() + x = etree.fromstring(t) + links = x.xpath("//link") + maxnum = links[1].text.split("/")[-1] + maxnum = int(maxnum) + return maxnum def get_file(): """Récupère la liste des derniers ids de chaque truc, stockée dans le fichier.""" @@ -164,6 +174,7 @@ FETCHS = { "norman" : last_norman, "cyprien" : last_cyprien, "grenier" : last_grenier, + "dc" : last_jl8, } def fetch_all(): @@ -173,8 +184,14 @@ def fetch_all(): try: news[k] = f() except Exception as e: - print "Erreur à la récupération de %s :" % k - traceback.print_exc() + errmsg = "Erreur à la récupération de %s :\n" % k + errmsg += traceback.format_exc() + # On dumpe le contenu local de la mémoire au moment de l'exception + fobj = inspect.trace()[-1][0] + # On fait un peu de ménage + d = {k:v for (k,v) in fobj.f_locals.items() if not k.startswith("_")} + errmsg += "\nContexte : %s\n\n" % (pprint.pformat(d)) + print errmsg return news def sync(): @@ -200,8 +217,11 @@ if __name__ == "__main__": DEBUG = True if sys.argv[1] == "check": news = fetch_all() - olds = get_file() - olds.update(news) + if "--init" in sys.argv: + olds = news + else: + olds = get_file() + olds.update(news) update_file(olds) elif sys.argv[1] == "whatsup": news = get_file()