29 lines
950 B
Python
29 lines
950 B
Python
"""A collection of functions which are triggered automatically by finder when
|
|
AV/PyAV package is included.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING
|
|
|
|
from cx_Freeze._compat import IS_WINDOWS
|
|
from cx_Freeze.hooks._libs import replace_delvewheel_patch
|
|
|
|
if TYPE_CHECKING:
|
|
from cx_Freeze.finder import ModuleFinder
|
|
from cx_Freeze.module import Module
|
|
|
|
|
|
def load_av(finder: ModuleFinder, module: Module) -> None:
|
|
"""The AV or PyAV package."""
|
|
if IS_WINDOWS:
|
|
libs_name = "av.libs"
|
|
source_dir = module.file.parent.parent / libs_name
|
|
if not source_dir.exists():
|
|
libs_name = "pyav.libs"
|
|
source_dir = module.file.parent.parent / libs_name
|
|
if source_dir.exists():
|
|
finder.include_files(source_dir, f"lib/{libs_name}")
|
|
replace_delvewheel_patch(module, libs_name)
|
|
finder.include_module("av.deprecation")
|