Při procházení a jakési údržbě složek na pc, jsem našel asi rok starý skript na zobrazení aktuáního komixu Garfielda, který, jak známo, vychází každý den. Skript je z doby, kdy jsem se rozhodl, že se musím naučit pracovat v jazyce python... Psaní programu mě po chvilce přestalo bavit, python ne.
Skript předkládám v takovém stavu, v jakém jsem jej zanechal ... všimněte si parádní hlavičky a názvu GarfViewer :-) Možná se k němu ještě jednou vrátím a dodělám nějaké fičurky, ale....spíš ne.
Vyžaduje PyGTK pro zobrazení okýnka.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/usr/bin/env python # GarfViewer : version 0.0.1 # by Jakub Jedelsky <dev @stderr.cz> import pygtk pygtk.require('2.0') import gtk import urllib,sys,datetime,getopt today = datetime.date.today() # for today strip: Y = today.strftime("%Y") # Year (2008) y = today.strftime("%y") # year (08) m = today.strftime("%m") # month (12) d = today.strftime("%d") # day (02) print " > day: " + Y + "-" + m + "-" + d garf = "garfield.gif" print " > downloading comic strip from http://images.ucomics.com" source = "http://images.ucomics.com/comics/ga/"+ Y + "/ga"+ y+m+d +".gif" strip = urllib.urlopen(source) g = strip.read() file = open(garf, "w") file.write(g) file.close() print " > strip saved in ./" + garf # def random_strip(): class GarfView: # def options(self): def close_application(self,widget,event,data=None): print " > this is the end" sys.exit() return 0 def __init__(self): window = gtk.Window(gtk.WINDOW_TOPLEVEL) window.connect("delete_event",self.close_application) window.set_border_width(5) window.set_title("ComViewer > Garfield > "+Y+"-"+m+"-"+d) window.set_position(gtk.WIN_POS_CENTER) window.show() image = gtk.Image() image.set_from_file(garf) image.show() window.add(image) def main(): gtk.main() return 0 if __name__ == "__main__": GarfView() main() |
Jak vidno, funguje jednoduše: po spuštění zjistí datum, podle něj stáhne z webu ucomics.com aktuální strip, uloží a zobrazí. Žádná bomba.
Dokonce vím o jednom bugu a to, že nový strip vycházi (na náš čas) až kolem 7mé (baj voko), takže od půlnoci do té doby je program jaksi nefunkční, resp. zobrazí prázdnej čtvereček. Co už.

