Garfield pro dnešní den..

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ž.

Další článek

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">