Saves the log.
        If refresh is set to a timestamp, will regenerate everything from scratch.

def save(self, refresh=False):
        """Saves the log.
        If refresh is set to a timestamp, will regenerate everything from scratch.
        """
        # create directory if it doesn't exist
        # error will be thrown if this is not possible
        _busy = Purr.BusyIndicator()
        Purr.progressMessage("Generating index in %s" % self.logdir)
        self._initIndexDir()
        # if refresh is True, re-save all entries.
        if refresh:
            refresh = time.time()
            for i, entry in enumerate(self.entries):
                entry.save(refresh=refresh)
        Purr.RenderIndex.writeLogIndex(self.logdir, self.logtitle, self.timestamp, self.entries, refresh=refresh)
        Purr.progressMessage("Wrote %s" % self.logdir)