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
#: Fichier où est stockée une copie de la liste des derniers IDs *lus*
store_seen_file = "lasts_sync"
+#: Afficher du garbage pour débuguer
+DEBUG = False
+
def last_dtc():
"""Vérifie si il y a des quotes DTC non lues"""
return dtc.last_inserted()
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 or "noob versus rct" == titre:
+ continue
try:
+ if DEBUG:
+ print titre
saison, ep = get_season_episode(titre)
- except ValueError:
- pass
+ except (ValueError, IndexError) as e:
+ print "%s sur un season_episode warpzone : %s\n" % (e, titre)
+ continue
lasts.append([saison, ep])
del saison, ep
break
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."""
"norman" : last_norman,
"cyprien" : last_cyprien,
"grenier" : last_grenier,
+ "dc" : last_jl8,
}
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():
print json.dumps(on_server)
if __name__ == "__main__":
+ if "--debug" in sys.argv or "--verbose" in sys.argv:
+ 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()