''

def _dump_epub_metadata(self, fpath):

    from calibre.ebooks.BeautifulSoup import BeautifulSoup
    from calibre.utils.zipfile import ZipFile
    logger().info(('    %s.__get_epub_metadata()' % self.__class__.__name__))
    title = None
    author = None
    timestamp = None
    zf = ZipFile(fpath, 'r')
    fnames = zf.namelist()
    opf = [x for x in fnames if ('.opf' in x)][0]
    if opf:
        opf_raw = cStringIO.StringIO(zf.read(opf))
        soup = BeautifulSoup(opf_raw.getvalue())
        opf_raw.close()
        title = soup.find('dc:title').renderContents()
        author = soup.find('dc:creator').renderContents()
        ts = soup.find('meta', attrs={'name': 'calibre:timestamp'})
        if ts:
            timestamp = ts['content']
        if ((not title) or (not author)):
            if self.verbose:
                logger().error(("            couldn't    extract    title/author    from    %s    in    %s" % (opf, fpath)))
                logger().error(('            title:    %s        author:    %s    timestamp:    %s' % (title, author, timestamp)))
    elif self.verbose:
        logger().error(("            can't    find    .opf    in    %s" % fpath))
    zf.close()
    return (title, author, timestamp)
