`self.contents` doesn't seem to be used outside of this method, unless there's something sneaky out there?  Make this a local if not.