|
8 | 8 | from typing import Any |
9 | 9 |
|
10 | 10 | from pptx import Presentation as PptxPresentation |
| 11 | +from pptx.enum.shapes import PP_PLACEHOLDER_TYPE |
11 | 12 |
|
12 | 13 | import tppt |
13 | 14 |
|
@@ -162,40 +163,39 @@ def analyze_layout(layout: LayoutInfo) -> LayoutInfo: |
162 | 163 |
|
163 | 164 | # Determine base name based on placeholder type |
164 | 165 | match ph_type: |
165 | | - case 1: # Title |
| 166 | + case PP_PLACEHOLDER_TYPE.TITLE: |
166 | 167 | base_name = "title" |
167 | | - case 2: # Body/Content |
| 168 | + case PP_PLACEHOLDER_TYPE.BODY: |
168 | 169 | if "content" in layout_name_lower or "text" in layout_name_lower: |
169 | 170 | base_name = "content" |
170 | 171 | else: |
171 | 172 | base_name = "body" |
172 | | - case 3: # CenteredTitle |
| 173 | + case PP_PLACEHOLDER_TYPE.CENTER_TITLE: |
173 | 174 | base_name = "title" |
174 | | - case 4: # Subtitle |
| 175 | + case PP_PLACEHOLDER_TYPE.SUBTITLE: |
175 | 176 | base_name = "subtitle" |
176 | | - case 7: # Chart |
| 177 | + case PP_PLACEHOLDER_TYPE.CHART: |
177 | 178 | if "chart" in sample_ph.name.lower(): |
178 | 179 | base_name = "chart" |
179 | 180 | else: |
180 | 181 | base_name = "content" |
181 | | - case 8: # Table |
| 182 | + case PP_PLACEHOLDER_TYPE.TABLE: |
182 | 183 | base_name = "table" |
183 | | - case 13: # SlideNumber |
| 184 | + case PP_PLACEHOLDER_TYPE.SLIDE_NUMBER: |
184 | 185 | base_name = "slide_number" |
185 | | - case 15: # Footer |
| 186 | + case PP_PLACEHOLDER_TYPE.FOOTER: |
186 | 187 | base_name = "footer" |
187 | | - case 16: # Date |
| 188 | + case PP_PLACEHOLDER_TYPE.DATE: |
188 | 189 | base_name = "date" |
189 | | - case 18: # Picture |
| 190 | + case PP_PLACEHOLDER_TYPE.PICTURE: |
190 | 191 | base_name = "picture" |
191 | | - case 19: # VerticalTitle |
| 192 | + case PP_PLACEHOLDER_TYPE.VERTICAL_TITLE: |
192 | 193 | base_name = "vertical_title" |
193 | | - case 20: # VerticalBody |
| 194 | + case PP_PLACEHOLDER_TYPE.VERTICAL_BODY: |
194 | 195 | base_name = "vertical_text" |
195 | 196 | case _: |
196 | 197 | # For other types, use the cleaned placeholder name |
197 | 198 | base_name = clean_field_name(sample_ph.name) |
198 | | - |
199 | 199 | # Process all types of placeholders |
200 | 200 | if ph_type not in [ |
201 | 201 | 1, |
|
0 commit comments