mit neuen venv und exe-Files
This commit is contained in:
52
venv3_12/Lib/site-packages/cx_Freeze/hooks/pytz.py
Normal file
52
venv3_12/Lib/site-packages/cx_Freeze/hooks/pytz.py
Normal file
@@ -0,0 +1,52 @@
|
||||
"""A collection of functions which are triggered automatically by finder when
|
||||
pytz package is included.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from cx_Freeze.finder import ModuleFinder
|
||||
from cx_Freeze.module import Module
|
||||
|
||||
|
||||
def load_pytz(finder: ModuleFinder, module: Module) -> None:
|
||||
"""The pytz module requires timezone data to be found in a known directory
|
||||
or in the zip file where the package is written.
|
||||
"""
|
||||
source_path = module.file.parent / "zoneinfo"
|
||||
if not source_path.is_dir():
|
||||
# Fedora (and possibly other systems) use a separate location to
|
||||
# store timezone data so look for that here as well
|
||||
pytz = __import__("pytz")
|
||||
source_path = Path(
|
||||
getattr(pytz, "_tzinfo_dir", None)
|
||||
or os.getenv("PYTZ_TZDATADIR")
|
||||
or "/usr/share/zoneinfo"
|
||||
)
|
||||
if source_path.is_dir():
|
||||
if module.in_file_system >= 1:
|
||||
target_path = "share/zoneinfo"
|
||||
finder.add_constant("PYTZ_TZDATADIR", target_path)
|
||||
finder.include_files(
|
||||
source_path, target_path, copy_dependent_files=False
|
||||
)
|
||||
else:
|
||||
finder.zip_include_files(source_path, "pytz/zoneinfo")
|
||||
module.exclude_names.add("doctest")
|
||||
|
||||
|
||||
def load_pytz_lazy(_, module: Module) -> None:
|
||||
"""Ignore module not used in Python 3.x."""
|
||||
module.ignore_names.update({"UserDict", "collections.Mapping"})
|
||||
|
||||
|
||||
def load_pytz_tzinfo(_, module: Module) -> None:
|
||||
"""Ignore module not used in Python 3.x."""
|
||||
module.ignore_names.add("sets")
|
||||
|
||||
|
||||
__all__ = ["load_pytz", "load_pytz_lazy", "load_pytz_tzinfo"]
|
||||
Reference in New Issue
Block a user