本文整理汇总了Python中calibre.ebooks.docx.container.DOCX.close方法的典型用法代码示例。如果您正苦于以下问题:Python DOCX.close方法的具体用法?Python DOCX.close怎么用?Python DOCX.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类calibre.ebooks.docx.container.DOCX
的用法示例。
在下文中一共展示了DOCX.close方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_metadata
# 需要导入模块: from calibre.ebooks.docx.container import DOCX [as 别名]
# 或者: from calibre.ebooks.docx.container.DOCX import close [as 别名]
def get_metadata(stream):
c = DOCX(stream, extract=False)
mi = c.metadata
try:
cdata = get_cover(c)
except Exception:
cdata = None
import traceback
traceback.print_exc()
c.close()
stream.seek(0)
if cdata is not None:
mi.cover_data = cdata
return mi
示例2: get_metadata
# 需要导入模块: from calibre.ebooks.docx.container import DOCX [as 别名]
# 或者: from calibre.ebooks.docx.container.DOCX import close [as 别名]
def get_metadata(stream):
c = DOCX(stream, extract=False)
mi = c.metadata
c.close()
stream.seek(0)
cdata = None
with ZipFile(stream, 'r') as zf:
for zi in zf.infolist():
ext = zi.filename.rpartition('.')[-1].lower()
if cdata is None and ext in {'jpeg', 'jpg', 'png', 'gif'}:
raw = zf.read(zi)
try:
width, height, fmt = identify_data(raw)
except:
continue
if 0.8 <= height/width <= 1.8 and height*width >= 12000:
cdata = (fmt, raw)
if cdata is not None:
mi.cover_data = cdata
return mi