diff options
Diffstat (limited to 'examples/md5sum-property-page.py')
-rw-r--r-- | examples/md5sum-property-page.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/examples/md5sum-property-page.py b/examples/md5sum-property-page.py index 13c59e7..dd2a7ee 100644 --- a/examples/md5sum-property-page.py +++ b/examples/md5sum-property-page.py @@ -1,10 +1,9 @@ import hashlib import urllib -import gtk -import caja +from gi.repository import Caja, Gtk, GObject -class MD5SumPropertyPage(caja.PropertyPageProvider): +class MD5SumPropertyPage(GObject.GObject, Caja.PropertyPageProvider): def __init__(self): pass @@ -21,22 +20,28 @@ class MD5SumPropertyPage(caja.PropertyPageProvider): filename = urllib.unquote(file.get_uri()[7:]) - self.property_label = gtk.Label('MD5Sum') + self.property_label = Gtk.Label('MD5Sum') self.property_label.show() - self.hbox = gtk.HBox(0, False) + self.hbox = Gtk.HBox(homogeneous=False, spacing=0) self.hbox.show() - label = gtk.Label('MD5Sum:') + label = Gtk.Label('MD5Sum:') label.show() - self.hbox.pack_start(label) + self.hbox.pack_start(label, False, False, 0) - self.value_label = gtk.Label() - self.hbox.pack_start(self.value_label) + self.value_label = Gtk.Label() + self.hbox.pack_start(self.value_label, False, False, 0) - md5sum = hashlib.md5(filename).hexdigest() - self.value_label.set_text(md5sum) + md5sum = hashlib.md5() + with open(filename,'rb') as f: + for chunk in iter(lambda: f.read(8192), ''): + md5sum.update(chunk) + f.close() + + self.value_label.set_text(md5sum.hexdigest()) self.value_label.show() - return caja.PropertyPage("CajaPython::md5_sum", - self.property_label, self.hbox), + return Caja.PropertyPage(name="CajaPython::md5_sum", + label=self.property_label, + page=self.hbox), |