X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fusr%2Flib%2Fhildon-desktop%2Fcomicwidget.py;h=5dd1fe65e91007397c30222ae6613941915d6379;hb=1e95ad9439ae6395d900e5a029fa7351f5c1ea57;hp=940406764687907d918d0943b775ab80a8e95ed8;hpb=33bc8faf708f9e7f19fca951495060949629736b;p=comic-widget diff --git a/src/usr/lib/hildon-desktop/comicwidget.py b/src/usr/lib/hildon-desktop/comicwidget.py index 9404067..5dd1fe6 100644 --- a/src/usr/lib/hildon-desktop/comicwidget.py +++ b/src/usr/lib/hildon-desktop/comicwidget.py @@ -18,8 +18,8 @@ socket.setdefaulttimeout(30) supports_alpha = False # LOGGING! -# sys.stdout = open('/home/user/.comic-widget/output_log.txt', 'a') -# sys.stderr = open('/home/user/.comic-widget/error_log.txt', 'a') +# sys.stdout = open('/home/user/.comic-widget/output_log.txt', 'a', 0) +sys.stderr = open('/home/user/.comic-widget/error_log.txt', 'a', 0) # print "Start logging!" # constants. dbfile is the location of the csv @@ -199,6 +199,7 @@ comics = { "tigerckdm":{"name":"Tiger","link":'http://content.comicskingdom.net/Tiger/',"start":"20100209","dbfile":dbdir + "comicdb.tiger.csv"}, "tinas_grooveckdm":{"name":"Tina's Groove","link":'http://content.comicskingdom.net/Tinas_Groove/',"start":"20100209","dbfile":dbdir + "comicdb.tinasgroove.csv"}, "toddckdm":{"name":"Todd the Dinosaur","link":'http://content.comicskingdom.net/Todd/',"start":"20100209","dbfile":dbdir + "comicdb.todd.csv"}, + "viivijawagnermatinmaapallo":{"name":"Viivi ja Wagner","link":"http://matin.maapallo.org/site.pl/selain/?c=viivijawagner&i=","start":"2500","dbfile":dbdir + "comicdb.viivijawagner.csv"}, "zippy_the_pinheadckdm":{"name":"Zippy the Pinhead","link":'http://content.comicskingdom.net/Zippy_the_Pinhead/',"start":"20100209","dbfile":dbdir + "comicdb.zippythepinhead.csv"}, "zitsckdm":{"name":"Zits","link":'http://content.comicskingdom.net/Zits/',"start":"20100209","dbfile":dbdir + "comicdb.zits.csv"}, @@ -278,6 +279,7 @@ class ComicDb(): except: return 0 + def store_last(self, sid = 0): try: idf = open(self.dbfile + ".last", 'w') @@ -644,7 +646,35 @@ class ComicDb(): s = f.read() f.close() return self.parse_comics_com(comic, s, 'next') - + elif comic[-13:] == "matinmaapallo": + realcomic = string.split( comic, 'matinmaapallo', 1) + linkname = realcomic[0] + link = "http://matin.maapallo.org/site.pl/selain/?c=" + linkname + "&i=" + str(number) + print "link: " + link + try: + f = urllib2.urlopen(link) + hcode = f.code + except: + hcode = 404 + print "got hcode = " + str(hcode) + "\n" + print "I am now here" + if (hcode != 200): + return False + else: + print "checking next matin maapallo issue.." + s = f.read() + f.close() + # title: + splt = string.split(s, 'seuraava', 1) + if len(splt) < 2: + print "no 'prev' found" + return False + else: + next = str( int(number) + 1 ) + print "got next: " + next + return next + else: + return False @@ -743,8 +773,18 @@ class ComicDb(): s = f.read() f.close() return self.parse_comics_com(comic, s, 'prev') - - + elif comic[-13:] == 'matinmaapallo': + print "checking matin maapallo..." + prevint = int( number ) - 1 + if ( prevint == 0 ): + print "cannot go previous" + return False + else: + print "got number: " + number + print "got previous: " + str(prevint) + return str(prevint) + else: + return False def get_irow(self, comic, number): @@ -1082,9 +1122,11 @@ class ComicHomePlugin(hildondesktop.HomePluginItem): self.e_goweb.add(self.label) self.e_goweb.set_events(gtk.gdk.BUTTON_RELEASE_MASK) - self.e_goweb.connect("button-release-event", self.view_comic) + self.e_goweb.connect("button-release-event", self.view_comic_web) self.e_open.add(self.comic_image) + self.e_open.set_events(gtk.gdk.BUTTON_PRESS_MASK) + self.e_open.connect("button-press-event", self.view_comic) # self.e_switch.add(self.switch) self.e_switch.set_events(gtk.gdk.BUTTON_PRESS_MASK|gtk.gdk.BUTTON_RELEASE_MASK|gtk.gdk.LEAVE_NOTIFY) @@ -1287,12 +1329,20 @@ class ComicHomePlugin(hildondesktop.HomePluginItem): self.draw(widget, "0") # no fancy cairo stuff here. simply launches url in browser. - def view_comic(self, widget, event): + def view_comic_web(self, widget, event): if not event.type == gtk.gdk.BUTTON_RELEASE: return False link = self.db.get_link() self.osso_rpc.rpc_run_with_defaults("osso_browser", "open_new_window", (link,)) + # simply launches image in browser. + def view_comic(self, widget, event): + if not event.type == gtk.gdk._2BUTTON_PRESS: + return False + #link = self.db.get_link() + link = 'file:///home/user/MyDocs/.comics/' + self.db.comic + '/' + self.db.db[self.db.currentcomic]['filename'] + self.osso_rpc.rpc_run_with_defaults("osso_browser", "open_new_window", (link,)) + # this function modifies the image to fit the widget and then returns it. @@ -1304,11 +1354,18 @@ class ComicHomePlugin(hildondesktop.HomePluginItem): height = int(self.sizes['height']) picwidth = width - 2 maxheight = height - 48 - + retimg = gtk.Image() + if os.path.isfile(filename) == False: + filename = "/opt/comic-widget/images/up0-48x48.png" + pixbuf = gtk.gdk.pixbuf_new_from_file(filename) + parent_buf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, pixbuf.get_has_alpha(), 8, width, maxheight) + parent_buf.fill(0x00000000) + tmpy = (maxheight / 2) - 24 + tmpx = (width / 2) - 24 + pixbuf.copy_area(0,0,picwidth,scaled_buf.get_height(),parent_buf,int(tmpx),int(tmpy)) + return pixbuf = gtk.gdk.pixbuf_new_from_file(filename) parent_buf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, pixbuf.get_has_alpha(), 8, width, maxheight) - parent_buf.fill(0xffffffff) - retimg = gtk.Image() # get correct width/height new_height = 1 new_width = picwidth