Handle mangafox download errors slightly nicer.
authorFredrik Tolf <fredrik@dolda2000.com>
Sun, 12 May 2013 04:01:36 +0000 (06:01 +0200)
committerFredrik Tolf <fredrik@dolda2000.com>
Sun, 12 May 2013 04:03:46 +0000 (06:03 +0200)
manga/mangafox.py

index ed40efb..b165d21 100644 (file)
@@ -6,8 +6,16 @@ soup = BeautifulSoup.BeautifulSoup
 class imgstream(lib.imgstream):
     def __init__(self, url):
         self.bk = urllib.urlopen(url)
-        self.ctype = self.bk.info()["Content-Type"]
-        self.clen = int(self.bk.info()["Content-Length"])
+        ok = False
+        try:
+            if self.bk.getcode() != 200:
+                raise IOError("Server error: " + str(self.bk.getcode()))
+            self.ctype = self.bk.info()["Content-Type"]
+            self.clen = int(self.bk.info()["Content-Length"])
+            ok = True
+        finally:
+            if not ok:
+                self.bk.close()
 
     def fileno(self):
         return self.bk.fileno()