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
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
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