def __call__(self, icon): try: return self.cache[icon] except KeyError: # element not in cache result = gtk.Label().render_icon(icon, self.size) self.cache[icon] = result return result