14.06.2009

Gwibber: URLError nach Suspend/Resume

Gwibber ist praktisch: Man kann durchgehend mehr oder weniger interessante Nachrichten ins Netz der Netze schicken oder schnell entsprechende Antworten erhalten. Schade nur dass sich zumindest hier unter Arch Linux der Gwibber-Client nach erfolgten SuspendToRAM/Resume zweimalig erfolglos versucht zu verbinden und dann mit einem “URLError” aufgibt – Gwibber-Restart nötig.

gwibber-dust

Zumindest hier schreibe ich weil ich diesen Fehler bisher nirgends sonst erwähnt finden konnte, keine Ahnung ob er nur hier bei mir auftritt.

Wie auch immer, scheinbar versucht sich Gwibber zu verbinden während der Network-Manager noch keine Verbindung zum Wlan-Router hat (befindet sich zu dieser Zeit noch im Aufbau), das versucht Gwibber laut Fehlermeldung scheinbar genau zwei Mal innerhalb einer Minute und gibt dann auf, auch ein erneutes Klicken auf Refresh führt nicht zum Erfolg.

Ein Trial-and-error-Versuch war jetzt einfach den Verbindungs-Timeount zu erhöhen was in Python recht einfach geht: Die socket-Bibliothek importieren und mittels socket.setdefaulttimeout(60) den Timeout von 0 auf 60 Sekunden erhöhen – funktioniert hier in ersten Tests scheinbar. Passendes Patch-Diff für gwibber/microblog/twitter.py (Gwibber 1.2.0) hierzu):

Edit: 17:50 – der Patch scheint doch nicht zu funktionieren :(

--- twitter-old.py	2009-06-14 10:30:23.000000000 +0200
+++ twitter.py	2009-06-14 10:25:39.000000000 +0200
@@ -7,7 +7,7 @@
 """
 
 from . import can, support
-import urllib2, urllib, base64, re, simplejson
+import urllib2, urllib, base64, re, simplejson, socket
 import gettext
 _ = gettext.lgettext
 
@@ -138,6 +138,7 @@
 class Client:
   def __init__(self, acct):
     self.account = acct
+    socket.setdefaulttimeout(60)
 
   def send_enabled(self):
     return self.account["send_enabled"] and \

Vielleicht auch noch lesenswert:

Kommentar schreiben

XHTML: Zur Formatierung können folgende Tags benutzt werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>