bugfixes, switched to completely to urllib2, added babyblues
authormece <mece@mariehamn.(none)>
Mon, 8 Feb 2010 09:28:57 +0000 (11:28 +0200)
committermece <mece@mariehamn.(none)>
Mon, 8 Feb 2010 09:28:57 +0000 (11:28 +0200)
build_setup.py
debian/changelog
debian/copyright
debs/comic-widget_0.4.1-1_all.deb [new file with mode: 0644]
extras-devel/comic-widget_0.4.1-1.changes [new file with mode: 0644]
extras-devel/comic-widget_0.4.1-1.dsc [new file with mode: 0644]
extras-devel/comic-widget_0.4.1-1.tar.gz [new file with mode: 0644]
src/usr/lib/hildon-desktop/comicwidget.py

index 097ca60..3663e33 100644 (file)
@@ -36,7 +36,7 @@ if __name__ == "__main__":
         #  chmod +x /usr/bin/mclock.py""" #Set here your pre install script
         #  p.prer 1000 emove="""#!/bin/sh
         #  chmod +x /usr/bin/mclock.py""" #Set here your pre remove script
-        version = "0.4.0"           #Version of your software, e.g. "1.2.0" or "0.8.2"
+        version = "0.4.1"           #Version of your software, e.g. "1.2.0" or "0.8.2"
         build = "1"                 #Build number, e.g. "1" for the first build of this version of your software. Increment for later re-builds of the same version of your software.
                                      #Text with changelog information to be displayed in the package "Details" tab of the Maemo Application Manager
         changeloginformation = "over 100 comics" 
index e0f3e6b..669fef7 100644 (file)
@@ -1,5 +1,5 @@
-comic-widget (0.4.0-1) stable; urgency=low
+comic-widget (0.4.1-1) stable; urgency=low
 
   over 100 comics
 
- -- Marcus Wikstrom <mece@ovi.com>  Mon, 08 Feb 2010 01:32:46 +0000
+ -- Marcus Wikstrom <mece@ovi.com>  Mon, 08 Feb 2010 11:26:39 +0000
index d71a514..501f167 100644 (file)
@@ -1,5 +1,5 @@
 This package was py2debianized(0.5.3) by Marcus Wikstrom <mece@ovi.com> on
-Mon, 08 Feb 2010 01:32:46 +0000.
+Mon, 08 Feb 2010 11:26:39 +0000.
 
 It was downloaded from 
 
diff --git a/debs/comic-widget_0.4.1-1_all.deb b/debs/comic-widget_0.4.1-1_all.deb
new file mode 100644 (file)
index 0000000..b4f1944
Binary files /dev/null and b/debs/comic-widget_0.4.1-1_all.deb differ
diff --git a/extras-devel/comic-widget_0.4.1-1.changes b/extras-devel/comic-widget_0.4.1-1.changes
new file mode 100644 (file)
index 0000000..ab8277b
--- /dev/null
@@ -0,0 +1,17 @@
+Maintainer: Marcus Wikstrom <mece@ovi.com>
+Format: 1.7
+Source: comic-widget
+Version: 0.4.1-1
+Architecture: all
+Date: Mon, 08 Feb 2010 09:26:46 +0000
+Distribution: fremantle
+Urgency: low
+Description: 
+ A widget that displays comics taken from the web.
+Changes: 
+ over 100 comics
+Changed-By: Marcus Wikstrom <mece@ovi.com>
+Files:
+ 30e7e9a2039750a0ab4e1120dcc0a78e 59550 user/desktop extras-devel comic-widget_0.4.1-1.tar.gz
+ 788a5a8a08fe7a867a6e2c5d5dfe0865 349 user/desktop extras-devel comic-widget_0.4.1-1.dsc
+
diff --git a/extras-devel/comic-widget_0.4.1-1.dsc b/extras-devel/comic-widget_0.4.1-1.dsc
new file mode 100644 (file)
index 0000000..485d450
--- /dev/null
@@ -0,0 +1,10 @@
+Source: comic-widget
+Version: 0.4.1-1
+Maintainer: Marcus Wikstrom <mece@ovi.com>
+Architecture: all
+Format: 1.0
+Build-Depends: python2.5, python-osso, python-gtk2, python-hildon, python-hildondesktop, python2.5-cairo, hildon-desktop-python-loader
+Standards-Version: 0.4.1-1
+Files:
+ 30e7e9a2039750a0ab4e1120dcc0a78e 59550 comic-widget_0.4.1-1.tar.gz
+
diff --git a/extras-devel/comic-widget_0.4.1-1.tar.gz b/extras-devel/comic-widget_0.4.1-1.tar.gz
new file mode 100644 (file)
index 0000000..99d13aa
Binary files /dev/null and b/extras-devel/comic-widget_0.4.1-1.tar.gz differ
index b2483df..e343ffb 100644 (file)
@@ -4,7 +4,6 @@ import hildondesktop
 import gtk
 import csv
 import urllib2
-import urllib
 import string
 import os
 import osso
@@ -14,7 +13,7 @@ import shutil
 import sys
 import socket
 
-socket.setdefaulttimeout(10)
+socket.setdefaulttimeout(30)
 
 supports_alpha = False
 
@@ -25,7 +24,7 @@ supports_alpha = False
 
 # constants. dbfile is the location of the csv
 # comiccache is the location of the images
-APP_VERSION = "0.4.0-1"
+APP_VERSION = "0.4.1-1"
 
 basedbdir = "/opt/comic-widget/db/"
 imagedir = "/opt/comic-widget/images/"
@@ -41,6 +40,7 @@ comics = {
                "arlonjaniscomicscom":{"name":"Arlo and Janis","link":'http://comics.com/arlo&janis/',"start":"2010-02-01","dbfile":dbdir + "comicdb.arlonjanis.csv"},
                "bccomicscom":{"name":"B.C.","link":"http://comics.com/bc/","start":"2010-02-01","dbfile":dbdir + "comicdb.bc.csv"},
                "ballard_streetcomicscom":{"name":"Ballard Street","link":"http://comics.com/ballard_street/","start":"2010-02-01","dbfile":dbdir + "comicdb.ballardstreet.csv"},
+               "babyblues":{"name":"Babyblues","link":"http://www.babyblues.com/","start":"01/19/2010","dbfile":dbdir + "comicdb.babyblues.csv"},
                "bencomicscom":{"name":"Ben","link":'http://comics.com/ben/',"start":"2010-02-01","dbfile":dbdir + "comicdb.ben.csv"},
                "bettycomicscom":{"name":"Betty","link":"http://comics.com/betty/","start":"2010-02-01","dbfile":dbdir + "comicdb.betty.csv"},
                "big_natecomicscom":{"name":"Big Nate","link":"http://comics.com/big_nate/","start":"2010-02-01","dbfile":dbdir + "comicdb.bignate.csv"},
@@ -244,8 +244,16 @@ class ComicDb():
                                except:
                                        print "comic db creation failed on mkdir"
                        try:
+                               f = open(filename, "wb")
+                               print "writing to " + filename
+                               req = urllib2.Request(dbrow['url'])
+                               req.add_header('Referer', dbrow['link'])
+                               tmpimg = urllib2.urlopen(req)
+                               f.write(tmpimg.read())
+                               tmpimg = None
+                               f.close()
 
-                               urllib.urlretrieve(dbrow['url'], filename)
+#                              urllib.urlretrieve(dbrow['url'], filename)
                        except:
                                if os.path.isfile(filename):
                                        os.remove(filename)
@@ -314,7 +322,7 @@ class ComicDb():
        def fetch_earlier(self, comic, earliest):
                print "fetch before, " + comic + " earliest"
                print comic[-9:]
-               if comic == "cyanide" or comic == "wulff" or comic[-9:] == "comicscom":
+               if comic == "cyanide" or comic == "wulff" or comic == "babyblues" or comic[-9:] == "comicscom":
                        print "getting get_prev_id..."
                        comicid = self.get_prev_id(comic,earliest)
                        if not comicid:
@@ -348,7 +356,7 @@ class ComicDb():
 
 
        def fetch_newer(self, comic, newest):
-               if comic == "cyanide" or comic == "wulff":
+               if comic == "cyanide" or comic == "wulff" or comic == "babyblues" or comic[-9:] == "comicscom":
                        comicid = self.get_next_id(comic,newest)
                        if not comicid:
                                print "already at last comic"
@@ -437,6 +445,32 @@ class ComicDb():
 
 
        def get_next_id(self, comic, number):
+               if comic == 'babyblues':
+                       link = "http://www.babyblues.com/archive/index.php?formname=getstrip&GoToDay=" + str(number)
+                       print "link: " + link
+                       try:
+                               f = urllib2.urlopen(link)
+                               hcode = f.code
+                       except:
+                               hcode = 404
+                       print "got hcode = " + str(hcode) + "\n"
+                       if (hcode != 200):
+                               return False
+                       else:
+                               print "checking next Babyblues date.."
+                               s = f.read()
+                               f.close()
+                               # title:
+                               splt = string.split(s, 'nextStripLink', 1)
+                               if len(splt) < 2:
+                                       print "no 'prev' found"
+                                       return False
+                               else:
+                                       next = splt[1][48:58]
+                                       print "got next: " + next
+
+                                       return next
+
                if comic == 'cyanide':
                        link = "http://www.explosm.net/comics/" + str(number) + "/"
                        print "link: " + link
@@ -511,7 +545,38 @@ class ComicDb():
                                f.close()
                                return self.parse_comics_com(comic, s, 'next')
 
+
+
+
+
+
        def get_prev_id(self, comic, number):
+               if comic == 'babyblues':
+                       link = 'http://www.babyblues.com/archive/index.php?formname=getstrip&GoToDay=' + str(number)
+                       print "link: " + link
+                       try:
+                               f = urllib2.urlopen(link)
+                               hcode = f.code
+                       except:
+                               hcode = 404
+                       print "got hcode = " + str(hcode) + "\n"
+                       if (hcode != 200):
+                               return False
+                       else:
+                               print "checking prev Babyblues date.."
+                               s = f.read()
+                               f.close()
+                               # title:
+                               splt = string.split(s, 'prevStripLink', 1)
+                               if len(splt) < 2:
+                                       print "no 'prev' found"
+                                       exit()
+                                       return False
+                               else:
+                                       prev = splt[1][48:58]
+                                       print "got previous: " + prev
+                                       return prev
+
                if comic == 'cyanide':
                        link = "http://www.explosm.net/comics/" + str(number) + "/"
                        print "link: " + link
@@ -538,7 +603,7 @@ class ComicDb():
                                        return False
                                else:
                                        print "got previous: " + splt[0]
-                                       return splt[0]                          
+                                       return splt[0]  
                elif comic == 'wulff':
                        link = "http://wulffmorgenthaler.com/default.aspx?id=" + number
                        print "link: " + link
@@ -602,6 +667,8 @@ class ComicDb():
                        link = "http://www.explosm.net/comics/" + str(number) + "/"
                elif comic == 'wulff':
                        link = "http://wulffmorgenthaler.com/default.aspx?id=" + str(number)
+               elif comic == 'babyblues':
+                       link = "http://www.babyblues.com/archive/index.php?formname=getstrip&GoToDay=" + str(number)
                elif comic[-9:] == 'comicscom': 
                        link = comics[comic]['link'] + str(number) + "/"
                else:
@@ -715,14 +782,31 @@ class ComicDb():
                                filename = splt2[1]
                                irow = [comic,number,link,url,filename,title,next,prev]
                                return irow
+
+
+                       elif comic == 'babyblues':
+                               # babyblues is type .gif
+                               s = f.read()
+                               f.close()
+                               splt = string.split(s, 'http://est.rbma.com/content/Baby_Blues?date=', 1)
+                               flnm = splt[1][:8]
+                               # check filename...
+                               datesplt = string.split(number, "/")
+                               flncheck = datesplt[2] + datesplt[0] + datesplt[1]
+                               if not flnm == flncheck:
+                                       print "incorrect filename, end of line. Break break break!"
+                                       return False
+                               url = 'http://est.rbma.com/content/Baby_Blues?date=' + flnm
+                               title = number + " (2 weeks delay)"
+                               filename = flnm + ".gif"
+                               irow = [comic,number,link,url,filename,title]
+                               return irow
+
+
                        elif comic == 'wulff':
                                # wulf is type .gif
                                s = f.read()
                                f.close()
-# <img src="pics/dates/month/2.gif" alt="" />
-# <img src="pics/dates/day/4.gif" alt="" />
-# <img src="pics/dates/komma.gif" alt="" />
-# <img src="pics/dates/year/2010.gif" alt="" />
                                splt = string.split(s, '<img src="pics/dates/month/', 1)
                                if not splt[1][1:2] == ".":
                                        title = splt[1][:2]
@@ -770,9 +854,10 @@ class ComicDb():
                        splt = string.split(source, "Link_Next: '", 1)
                        splt = string.split(splt[1], "'", 1)
                        splt = string.split(splt[0], "/")
-                       if len(splt) == 0:
+                       if len(splt) < 3:
                                return False
                        else:
+                               
                                return splt[2]
 
                elif get_what == "prev":