#!/usr/bin/env python import wx import md5 import sys filename = sys.argv[1] def sumfile(fobj): '''Returns an md5 hash for an object with read() method.''' m = md5.new() while True: d = fobj.read(8096) if not d: break m.update(d) return m.hexdigest() def md5sum(fname): '''Returns an md5 hash for file fname, or stdin if fname is "-".''' if fname == '-': ret = sumfile(stdin) else: try: f = file(fname, 'rb') except: return 'Failed to open file' ret = sumfile(f) f.close() return ret app = wx.PySimpleApp() d = wx.MessageDialog(None, "md5 of " + filename + ": " + md5sum(filename), "pika",wx.OK) d.ShowModal() d.Destroy() app.MainLoop()