| 12
 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
 
 | import gtk, pygtk, urllib2
 
class HelloWorld:
    def download_file(self,url,theBuffer):
        file_name = url.split('/')[-1]
        u = urllib2.urlopen(url)
        f = open("/var/lib/Sab/cache/"+file_name, 'wb')
        meta = u.info()
        file_size = int(meta.getheaders("Content-Length")[0])
        print("Telechargement de : {0} Bytes: {1}".format(url, file_size))
 
        file_size_dl = 0
        block_sz = 8192
        while True:
            buffer = u.read(block_sz)
            if not buffer:
                break
 
            file_size_dl += len(buffer)
            f.write(buffer)
            p = float(file_size_dl) / file_size
            status = r"{0}  [{1:.2%}]".format(file_size_dl, p)
            theBuffer.insert(theBuffer.get_end_iter(), status+"\n")
 
    def __init__(self):
        install = gtk.Window()
        install.set_default_size(910,750)
        install.set_position(gtk.WIN_POS_CENTER_ALWAYS)
        hbox = gtk.VBox()
        labInst = gtk.Label()
        labInst.set_markup("<span size=\"x-large\">Installation en cours...</span>")
        hbox.pack_start(labInst,expand=False)
        messages = gtk.TextView()
        messages.set_editable(False)
        scrollmess = gtk.ScrolledWindow()
        scrollmess.add(messages)
        hbox.pack_end(scrollmess,expand=True)
        install.add(hbox)
        install.show_all()
        self.download_file("http://download-origin.cdn.mozilla.net/pub/mozilla.org/firefox/releases/1.0.5/source/firefox-1.0.5-source.tar.bz2", messages.get_buffer())
 
if __name__ == "__main__":
    HelloWorld()
    gtk.main() | 
Partager