返回 ppt-master
__init__.py
1 #!/usr/bin/env python3
2 """
3 PPT Master - DrawingML Preset Shapes
4
5 Shared full-catalog loader, registry, and formula evaluator for PPTX shapes.
6
7 Usage:
8 Import get_preset_registry from pptx_shapes.
9
10 Examples:
11 from pptx_shapes import get_preset_registry
12 arrow = get_preset_registry().evaluate("rightArrow", 320, 160)
13
14 Dependencies:
15 None (only uses standard library)
16 """
17
18 from .errors import (
19 FormulaEvaluationError,
20 FormulaSyntaxError,
21 PresetShapeDataError,
22 PresetShapeError,
23 UnknownGuideError,
24 UnknownPresetShapeError,
25 )
26 from .formula import (
27 FULL_CIRCLE,
28 OOXML_COORDINATE_MAX,
29 OOXML_COORDINATE_MIN,
30 OOXML_DEGREE,
31 OOXML_LINE_WIDTH_MAX,
32 SUPPORTED_OPERATORS,
33 FormulaEvaluator,
34 build_builtin_guides,
35 evaluate_formula,
36 validate_ooxml_line_width,
37 validate_ooxml_xfrm,
38 )
39 from .loader import (
40 BUNDLED_DEFINITIONS_PATH,
41 BUNDLED_DEFINITIONS_SHA256,
42 BUNDLED_SHAPE_TYPES_PATH,
43 BUNDLED_SHAPE_TYPES_SHA256,
44 DRAWINGML_NS,
45 EXPECTED_SHAPE_COUNT,
46 load_preset_shape_definitions,
47 load_shape_type_values,
48 )
49 from .models import (
50 EvaluatedPresetGeometry,
51 PresetShapeDefinition,
52 )
53 from .registry import (
54 CONNECTOR_PRESET_TYPES,
55 PresetShapeRegistry,
56 get_preset_registry,
57 )
58 from .semantics import (
59 BUNDLED_SEMANTICS_PATH,
60 SEMANTIC_ASPECTS,
61 SEMANTIC_DIRECTIONALITY,
62 SEMANTIC_RELATIONSHIPS,
63 SEMANTIC_ROLES,
64 SEMANTIC_SCOPES,
65 SEMANTIC_TEXT_CAPACITIES,
66 SEMANTIC_VISUAL_WEIGHTS,
67 PresetShapeSemantics,
68 get_preset_shape_semantics,
69 )
70 from .semantic_hash import (
71 NATIVE_FALLBACK_SHA256_ATTR,
72 resolve_preset_preview_hash,
73 svg_native_fallback_fingerprint,
74 svg_native_fallback_markup_fingerprint,
75 svg_preset_preview_fingerprint,
76 svg_text_fingerprint,
77 )
78 from .xml_safety import RELATIONSHIPS_NS, has_relationship_attributes
79
80
81 __all__ = [
82 "BUNDLED_DEFINITIONS_PATH",
83 "BUNDLED_DEFINITIONS_SHA256",
84 "BUNDLED_SEMANTICS_PATH",
85 "BUNDLED_SHAPE_TYPES_PATH",
86 "BUNDLED_SHAPE_TYPES_SHA256",
87 "CONNECTOR_PRESET_TYPES",
88 "DRAWINGML_NS",
89 "EXPECTED_SHAPE_COUNT",
90 "FULL_CIRCLE",
91 "OOXML_COORDINATE_MAX",
92 "OOXML_COORDINATE_MIN",
93 "OOXML_DEGREE",
94 "OOXML_LINE_WIDTH_MAX",
95 "NATIVE_FALLBACK_SHA256_ATTR",
96 "SUPPORTED_OPERATORS",
97 "EvaluatedPresetGeometry",
98 "FormulaEvaluationError",
99 "FormulaEvaluator",
100 "FormulaSyntaxError",
101 "PresetShapeDataError",
102 "PresetShapeDefinition",
103 "PresetShapeError",
104 "PresetShapeRegistry",
105 "PresetShapeSemantics",
106 "RELATIONSHIPS_NS",
107 "SEMANTIC_ASPECTS",
108 "SEMANTIC_DIRECTIONALITY",
109 "SEMANTIC_RELATIONSHIPS",
110 "SEMANTIC_ROLES",
111 "SEMANTIC_SCOPES",
112 "SEMANTIC_TEXT_CAPACITIES",
113 "SEMANTIC_VISUAL_WEIGHTS",
114 "UnknownGuideError",
115 "UnknownPresetShapeError",
116 "build_builtin_guides",
117 "evaluate_formula",
118 "get_preset_registry",
119 "get_preset_shape_semantics",
120 "has_relationship_attributes",
121 "load_preset_shape_definitions",
122 "load_shape_type_values",
123 "resolve_preset_preview_hash",
124 "svg_native_fallback_fingerprint",
125 "svg_native_fallback_markup_fingerprint",
126 "svg_text_fingerprint",
127 "svg_preset_preview_fingerprint",
128 "validate_ooxml_line_width",
129 "validate_ooxml_xfrm",
130 ]
131
131 lines PYTHON