def save(self, basepath):
        """Save comic URL to filename on disk."""
        out.info(u"Get image URL %s" % self.url, level=1)
        self.connect()
        filename = "%s%s" % (self.filename, self.ext)
        comicDir = os.path.join(basepath, self.dirname)
        if not os.path.isdir(comicDir):
            os.makedirs(comicDir)
        fn = os.path.join(comicDir, filename)
        # compare with >= since content length could be the compressed size
        if os.path.isfile(fn) and os.path.getsize(fn) >= self.contentLength:
            out.info(u'Skipping existing file "%s".' % fn)
            return fn, False
        content = self.urlobj.content
        if not content:
            out.warn(u"Empty content from %s, try again..." % self.url)
            self.connect()
            content = self.urlobj.content
        out.debug(u'Writing comic to file %s...' % fn)
        writeFile(fn, content)
        if self.text:
            fntext = os.path.join(comicDir, "%s.txt" % self.filename)
            out.debug(u'Writing comic text to file %s...' % fntext)
            writeFile(fntext, self.text, encoding='utf-8')
        getHandler().comicDownloaded(self, fn, text=self.text)
        return fn, True