]> gitweb.pimeys.fr Git - today.git/blobdiff - today_server.py
[server] On affiche les titres Warpzone qui foirent au lieu de crasher
[today.git] / today_server.py
index abff785e5a957ba29c5677d0d77cdaae9a94ced8..734246e54775ca73cf4ac8b79a43fd44b06ec5b1 100755 (executable)
@@ -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
@@ -108,8 +110,9 @@ def last_noob_warpzone():
                 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
@@ -182,8 +185,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():