def clear(self, url=None, xpath=None):
        """Clear cache

        Args:
            url (str): If given, clear specific item only. Otherwise remove the DB file.
            xpath (str): xpath to search (may be ``None``)
        """
        if url is not None:
            query = self._query(url, xpath)
            if query.count() > 0:
                query.delete()
                self.session.commit()
            else:
                raise KeyError("Cannot clear URL, not in cache: " + str(url) + " xpath:" + str(xpath))
        else:
            # remove the DB file
            self.close()
            if path.exists(self.db_path):
                remove(self.db_path)