#!/usr/bin/python
import os
import re
import urllib2
import hildon
import gtk
import gobject
class Meow:
def __init__(self):
def quitter(x):
gtk.main_quit()
window = hildon.Window()
self.window = window
window.connect("destroy", quitter)
self.fullscreen = True
self.window.fullscreen()
window.connect("key-press-event", self.on_key_press)
self.window.set_title('lolZilla')
self.window.AppPaintable=True
map = self.window.get_colormap()
colour = map.alloc_color("black")
style = self.window.get_style().copy()
style.bg[gtk.STATE_NORMAL] = colour
style.bg[gtk.STATE_PRELIGHT] = colour
self.window.set_style(style)
self.image = gtk.Image()
self.image.show()
#box=gtk.VBox()
#box.pack_start(self.image,True ,True, 0)
#box.show()
self.window.add(self.image)
self.changeCat()
self.window.show()
gtk.main()
def toggle_fullscreen(self):
self.fullscreen = not self.fullscreen
if self.fullscreen:
self.window.fullscreen()
else:
self.window.unfullscreen()
def on_key_press(self,widget,event,*args):
if event.keyval == gtk.keysyms.F6:
self.toggle_fullscreen()
else:
self.changeCat()
def changeCat(self):
print "llamando a cambiargato\n"
lolcat = self.getRandomCat()
lolcatname = lolcat.split("/")[-1].split("?")[0]
self.saveImage(lolcat, os.path.join("./", lolcatname))
self.showImage(os.path.join("./", lolcatname))
return True
def showImage(self, imagePath):
return self.image.set_from_file(imagePath)
def saveImage(self, url, filename):
usock = urllib2.urlopen(url)
data = usock.read()
usock.close()
fp = open(filename, 'wb')
fp.write(data)
fp.close()
def getRandomCat(self):
LOLCATRANDOM = "http://icanhascheezburger.com/?random"
PG_13 = "http://icanhascheezburger.files.wordpress.com/2007/12/pg-13.gif"
usock = urllib2.urlopen(LOLCATRANDOM)
data = usock.read()
usock.close()
regex = re.compile('''<div class='snap_preview'>.*<img\s+.*\s*src=["'](http://[^+]*?)['"]''')
url = ""
lolVar = regex.findall(data)
for i in lolVar:
url = i
if url == PG_13 or url == "":
regex = re.compile('''<div class='snap_preview'>.*<a\s+.*\s*href=["'](http://[^+]*?)['"]''')
lolVar = regex.findall(data)
for i in lolVar:
url = i
if url == "":
url = getRandomCat()
return url
p = Meow()
def miau():
p.changeCat()
return True
gobject.threads_init()
gobject.timeout_add(900, miau)
loop = gobject.MainLoop()
loop.run()