109 lines
2.7 KiB
Python
109 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
PPT Master - DrawingML Preset Shapes
|
|
|
|
Shared full-catalog loader, registry, and formula evaluator for PPTX shapes.
|
|
|
|
Usage:
|
|
Import get_preset_registry from pptx_shapes.
|
|
|
|
Examples:
|
|
from pptx_shapes import get_preset_registry
|
|
arrow = get_preset_registry().evaluate("rightArrow", 320, 160)
|
|
|
|
Dependencies:
|
|
None (only uses standard library)
|
|
"""
|
|
|
|
from .errors import (
|
|
FormulaEvaluationError,
|
|
FormulaSyntaxError,
|
|
PresetShapeDataError,
|
|
PresetShapeError,
|
|
UnknownGuideError,
|
|
UnknownPresetShapeError,
|
|
)
|
|
from .formula import (
|
|
FULL_CIRCLE,
|
|
OOXML_COORDINATE_MAX,
|
|
OOXML_COORDINATE_MIN,
|
|
OOXML_DEGREE,
|
|
OOXML_LINE_WIDTH_MAX,
|
|
SUPPORTED_OPERATORS,
|
|
FormulaEvaluator,
|
|
build_builtin_guides,
|
|
evaluate_formula,
|
|
validate_ooxml_line_width,
|
|
validate_ooxml_xfrm,
|
|
)
|
|
from .loader import (
|
|
BUNDLED_DEFINITIONS_PATH,
|
|
BUNDLED_DEFINITIONS_SHA256,
|
|
BUNDLED_SHAPE_TYPES_PATH,
|
|
BUNDLED_SHAPE_TYPES_SHA256,
|
|
DRAWINGML_NS,
|
|
EXPECTED_SHAPE_COUNT,
|
|
load_preset_shape_definitions,
|
|
load_shape_type_values,
|
|
)
|
|
from .models import (
|
|
EvaluatedPresetGeometry,
|
|
PresetShapeDefinition,
|
|
)
|
|
from .registry import (
|
|
CONNECTOR_PRESET_TYPES,
|
|
PresetShapeRegistry,
|
|
get_preset_registry,
|
|
)
|
|
from .semantic_hash import (
|
|
NATIVE_FALLBACK_SHA256_ATTR,
|
|
resolve_preset_preview_hash,
|
|
svg_native_fallback_fingerprint,
|
|
svg_native_fallback_markup_fingerprint,
|
|
svg_preset_preview_fingerprint,
|
|
svg_text_fingerprint,
|
|
)
|
|
from .xml_safety import RELATIONSHIPS_NS, has_relationship_attributes
|
|
|
|
|
|
__all__ = [
|
|
"BUNDLED_DEFINITIONS_PATH",
|
|
"BUNDLED_DEFINITIONS_SHA256",
|
|
"BUNDLED_SHAPE_TYPES_PATH",
|
|
"BUNDLED_SHAPE_TYPES_SHA256",
|
|
"CONNECTOR_PRESET_TYPES",
|
|
"DRAWINGML_NS",
|
|
"EXPECTED_SHAPE_COUNT",
|
|
"FULL_CIRCLE",
|
|
"OOXML_COORDINATE_MAX",
|
|
"OOXML_COORDINATE_MIN",
|
|
"OOXML_DEGREE",
|
|
"OOXML_LINE_WIDTH_MAX",
|
|
"NATIVE_FALLBACK_SHA256_ATTR",
|
|
"SUPPORTED_OPERATORS",
|
|
"EvaluatedPresetGeometry",
|
|
"FormulaEvaluationError",
|
|
"FormulaEvaluator",
|
|
"FormulaSyntaxError",
|
|
"PresetShapeDataError",
|
|
"PresetShapeDefinition",
|
|
"PresetShapeError",
|
|
"PresetShapeRegistry",
|
|
"RELATIONSHIPS_NS",
|
|
"UnknownGuideError",
|
|
"UnknownPresetShapeError",
|
|
"build_builtin_guides",
|
|
"evaluate_formula",
|
|
"get_preset_registry",
|
|
"has_relationship_attributes",
|
|
"load_preset_shape_definitions",
|
|
"load_shape_type_values",
|
|
"resolve_preset_preview_hash",
|
|
"svg_native_fallback_fingerprint",
|
|
"svg_native_fallback_markup_fingerprint",
|
|
"svg_text_fingerprint",
|
|
"svg_preset_preview_fingerprint",
|
|
"validate_ooxml_line_width",
|
|
"validate_ooxml_xfrm",
|
|
]
|