Files
aufbau2csv/venv3_12/Lib/site-packages/cx_Freeze/hooks/pil.py

50 lines
1.4 KiB
Python

"""A collection of functions which are triggered automatically by finder when
Pillow (PIL) package is included.
"""
from __future__ import annotations
from typing import TYPE_CHECKING
from cx_Freeze._compat import IS_MACOS
if TYPE_CHECKING:
from cx_Freeze.finder import ModuleFinder
from cx_Freeze.module import Module
def load_pil(finder: ModuleFinder, module: Module) -> None:
"""The Pillow must be loaded as a package."""
finder.include_package("PIL")
# [macos] copy dependent files when using zip_include_packages
if IS_MACOS:
source_dir = module.file.parent / ".dylibs"
if source_dir.exists() and module.in_file_system == 0:
finder.include_files(source_dir, "lib/.dylibs")
def load_pil_fpximageplugin(_, module: Module) -> None:
"""Ignore optional modules."""
module.ignore_names.add("olefile")
def load_pil_image(_, module: Module) -> None:
"""Ignore optional modules."""
module.ignore_names.update({"cffi", "defusedxml.ElementTree"})
def load_pil_imageshow(_, module: Module) -> None:
"""Ignore optional modules."""
module.ignore_names.add("IPython.display")
def load_pil_micimageplugin(_, module: Module) -> None:
"""Ignore optional modules."""
module.ignore_names.add("olefile")
def load_pil_pyaccess(_, module: Module) -> None:
"""Ignore optional modules."""
module.ignore_names.add("cffi")