Use features.pilinfo to report details about Pillow

This commit is contained in:
Christoph Gohlke 2019-11-02 15:12:52 -07:00 committed by GitHub
parent 579b6cac60
commit 5d10f8dff2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,40 +1,11 @@
def pytest_report_header(config):
import os
report = []
def append(*args):
report.append(" ".join(args))
import io
try:
from PIL import Image, features
from PIL import features
append("-" * 68)
append("Pillow", Image.__version__)
append("-" * 68)
append("Python modules loaded from", os.path.dirname(Image.__file__))
append("Binary modules loaded from", os.path.dirname(Image.core.__file__))
append("-" * 68)
for name, feature in [
("pil", "PIL CORE"),
("tkinter", "TKINTER"),
("freetype2", "FREETYPE2"),
("littlecms2", "LITTLECMS2"),
("webp", "WEBP"),
("transp_webp", "WEBP Transparency"),
("webp_mux", "WEBPMUX"),
("webp_anim", "WEBP Animation"),
("jpg", "JPEG"),
("jpg_2000", "OPENJPEG (JPEG2000)"),
("zlib", "ZLIB (PNG/ZIP)"),
("libtiff", "LIBTIFF"),
("raqm", "RAQM (Bidirectional Text)"),
]:
if features.check(name):
append("---", feature, "support ok")
else:
append("***", feature, "support not installed")
append("-" * 68)
with io.StringIO() as out:
features.pilinfo(out=out, supported_formats=False)
return out.getvalue()
except Exception as e:
return "pytest_report_header failed: %s" % str(e)
return "\n".join(report)