Skip to content

Commit 8637d82

Browse files
committed
refactor: rename TpptSlideLayout and TpptSlideMaster to SlideLayout and SlideMaster, respectively
1 parent 492ac15 commit 8637d82

File tree

7 files changed

+45
-39
lines changed

7 files changed

+45
-39
lines changed

examples/custom_slide_master.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
from pathlib import Path
22

33
import tppt
4-
from tppt.slide_layout import DefaultMasterSlide, DefaultTitleSlide
54

65

76
def main():
8-
class CustomMasterSlide(DefaultMasterSlide):
9-
pass
7+
class CustomMasterSlide(tppt.SlideLayout):
8+
title: tppt.Placeholder[str]
9+
text: tppt.Placeholder[str]
1010

11-
class CustomTitleSlide(DefaultTitleSlide):
12-
pass
11+
class CustomTitleSlide(tppt.SlideLayout):
12+
title: tppt.Placeholder[str]
13+
subtitle: tppt.Placeholder[str | None] = None
1314

14-
class CustomSlideMaster(tppt.TpptSlideMaster):
15+
class CustomSlideMaster(tppt.SlideMaster):
1516
Master = CustomMasterSlide
1617
Title = CustomTitleSlide
1718

src/tppt/__init__.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
"""Typed Python PowerPoint Tool"""
22

3-
from tppt import types as types
43
from tppt.pptx.presentation import Presentation
54
from tppt.pptx.shape import Shape
65
from tppt.pptx.slide import Slide, SlideBuilder
7-
from tppt.pptx.slide_layout import SlideLayout
8-
from tppt.pptx.slide_master import SlideMaster
9-
from tppt.slide_layout import Placeholder, TpptSlideLayout
10-
from tppt.slide_master import TpptSlideMaster
6+
from tppt.slide_layout import Placeholder, SlideLayout
7+
from tppt.slide_master import SlideMaster
8+
9+
from . import pptx as pptx
10+
from . import types as types
1111

1212
__all__ = [
1313
"Presentation",
1414
"Shape",
1515
"Slide",
1616
"SlideBuilder",
1717
"SlideLayout",
18-
"SlideMaster",
1918
"Placeholder",
20-
"TpptSlideLayout",
21-
"TpptSlideMaster",
19+
"SlideLayout",
20+
"SlideMaster",
2221
]

src/tppt/pptx/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
11
"""pptx wrapper implementation."""
2+
3+
from .presentation import Presentation as Presentation
4+
from .shape import Shape as Shape
5+
from .slide import Slide as Slide
6+
from .slide import SlideBuilder as SlideBuilder
7+
from .slide_layout import SlideLayout as SlideLayout

src/tppt/pptx/presentation.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from pptx.presentation import Presentation as PptxPresentation
77

88
from tppt.pptx.tree import ppt2dict
9-
from tppt.slide_layout import TpptSlideLayout
9+
from tppt.slide_layout import SlideLayout
1010
from tppt.slide_master import (
1111
DefaultSlideMaster,
1212
GenericTpptSlideMaster,
@@ -108,7 +108,7 @@ def __init__(
108108
def slide(
109109
self,
110110
slide: SlideBuilder
111-
| Callable[[type[GenericTpptSlideMaster]], SlideBuilder | TpptSlideLayout],
111+
| Callable[[type[GenericTpptSlideMaster]], SlideBuilder | SlideLayout],
112112
/,
113113
) -> Self:
114114
"""Add a slide to the presentation."""
@@ -118,7 +118,7 @@ def slide(
118118
slide_layout = slide(self._slide_master)
119119
slide_builder = (
120120
slide_layout.builder()
121-
if isinstance(slide_layout, TpptSlideLayout)
121+
if isinstance(slide_layout, SlideLayout)
122122
else slide_layout
123123
)
124124
slide_builder._build(self)

src/tppt/slide_layout.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def __class_getitem__(cls, item: Any) -> Any:
3838
Placeholder = Annotated[_AnyType, _Placeholder]
3939

4040

41-
class TpptSlideLayoutMeta(type):
41+
class _SlideLayoutMeta(type):
4242
"""Meta class for TpptSlideLayout.
4343
4444
Tracks fields annotated as placeholders.
@@ -92,7 +92,7 @@ def __new__(
9292
order_default=False,
9393
field_specifiers=(),
9494
)
95-
class TpptSlideLayout(metaclass=TpptSlideLayoutMeta):
95+
class SlideLayout(metaclass=_SlideLayoutMeta):
9696
"""Base class for slide layouts"""
9797

9898
__placeholders__: ClassVar[dict[str, Any]] = {}
@@ -129,7 +129,7 @@ def builder(self) -> "SlideBuilder":
129129
return SlideBuilder()
130130

131131

132-
class DefaultMasterSlide(TpptSlideLayout):
132+
class DefaultMasterSlide(SlideLayout):
133133
"""Default master slide layout."""
134134

135135
title: Placeholder[str]
@@ -138,7 +138,7 @@ class DefaultMasterSlide(TpptSlideLayout):
138138
footer: Placeholder[str | None] = None
139139

140140

141-
class DefaultTitleSlide(TpptSlideLayout):
141+
class DefaultTitleSlide(SlideLayout):
142142
"""Title slide layout."""
143143

144144
title: Placeholder[str]
@@ -147,7 +147,7 @@ class DefaultTitleSlide(TpptSlideLayout):
147147
footer: Placeholder[str | None] = None
148148

149149

150-
class DefaultTitleAndContentSlide(TpptSlideLayout):
150+
class DefaultTitleAndContentSlide(SlideLayout):
151151
"""Title and content slide layout."""
152152

153153
title: Placeholder[str]
@@ -156,7 +156,7 @@ class DefaultTitleAndContentSlide(TpptSlideLayout):
156156
footer: Placeholder[str | None] = None
157157

158158

159-
class DefaultSectionHeaderSlide(TpptSlideLayout):
159+
class DefaultSectionHeaderSlide(SlideLayout):
160160
"""Section header slide layout."""
161161

162162
title: Placeholder[str]
@@ -165,7 +165,7 @@ class DefaultSectionHeaderSlide(TpptSlideLayout):
165165
footer: Placeholder[str | None] = None
166166

167167

168-
class DefaultTwoContentSlide(TpptSlideLayout):
168+
class DefaultTwoContentSlide(SlideLayout):
169169
"""Two content slide layout."""
170170

171171
title: Placeholder[str]
@@ -175,7 +175,7 @@ class DefaultTwoContentSlide(TpptSlideLayout):
175175
footer: Placeholder[str | None] = None
176176

177177

178-
class DefaultComparisonSlide(TpptSlideLayout):
178+
class DefaultComparisonSlide(SlideLayout):
179179
"""Comparison slide layout."""
180180

181181
title: Placeholder[str]
@@ -187,22 +187,22 @@ class DefaultComparisonSlide(TpptSlideLayout):
187187
footer: Placeholder[str | None] = None
188188

189189

190-
class DefaultTitleOnlySlide(TpptSlideLayout):
190+
class DefaultTitleOnlySlide(SlideLayout):
191191
"""Title only slide layout."""
192192

193193
title: Placeholder[str]
194194
date: Placeholder[datetime.date | None] = None
195195
footer: Placeholder[str | None] = None
196196

197197

198-
class DefaultBlankSlide(TpptSlideLayout):
198+
class DefaultBlankSlide(SlideLayout):
199199
"""Blank slide layout."""
200200

201201
date: Placeholder[datetime.date | None] = None
202202
footer: Placeholder[str | None] = None
203203

204204

205-
class DefaultContentWithCaptionSlide(TpptSlideLayout):
205+
class DefaultContentWithCaptionSlide(SlideLayout):
206206
"""Content with caption slide layout."""
207207

208208
title: Placeholder[str]
@@ -211,7 +211,7 @@ class DefaultContentWithCaptionSlide(TpptSlideLayout):
211211
footer: Placeholder[str | None] = None
212212

213213

214-
class DefaultPictureWithCaptionSlide(TpptSlideLayout):
214+
class DefaultPictureWithCaptionSlide(SlideLayout):
215215
"""Picture with caption slide layout."""
216216

217217
title: Placeholder[str]
@@ -220,7 +220,7 @@ class DefaultPictureWithCaptionSlide(TpptSlideLayout):
220220
footer: Placeholder[str | None] = None
221221

222222

223-
class DefaultTitleAndVerticalTextSlide(TpptSlideLayout):
223+
class DefaultTitleAndVerticalTextSlide(SlideLayout):
224224
"""Title and vertical text slide layout."""
225225

226226
title: Placeholder[str]
@@ -229,7 +229,7 @@ class DefaultTitleAndVerticalTextSlide(TpptSlideLayout):
229229
footer: Placeholder[str | None] = None
230230

231231

232-
class DefaultVerticalTitleAndTextSlide(TpptSlideLayout):
232+
class DefaultVerticalTitleAndTextSlide(SlideLayout):
233233
"""Vertical title and text slide layout."""
234234

235235
vertical_title: Placeholder[str]

src/tppt/slide_master.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
DefaultTitleSlide,
1919
DefaultTwoContentSlide,
2020
DefaultVerticalTitleAndTextSlide,
21-
TpptSlideLayout,
21+
SlideLayout,
2222
)
2323

2424

25-
class TpptSlideMasterMeta(type):
26-
def __getattr__(self, key: str) -> "type[TpptSlideLayout]":
25+
class _SlideMasterMeta(type):
26+
def __getattr__(self, key: str) -> "type[SlideLayout]":
2727
if key in self.__annotations__:
2828
annotation = self.__annotations__[key]
29-
if issubclass(annotation, TpptSlideLayout):
29+
if issubclass(annotation, SlideLayout):
3030
return annotation
3131
else:
3232
raise SlideMasterAttributeMustBeSlideLayoutError(key)
@@ -39,10 +39,10 @@ def __getattr__(self, key: str) -> "type[TpptSlideLayout]":
3939
order_default=False,
4040
field_specifiers=(),
4141
)
42-
class TpptSlideMaster(metaclass=TpptSlideMasterMeta): ...
42+
class SlideMaster(metaclass=_SlideMasterMeta): ...
4343

4444

45-
class DefaultSlideMaster(TpptSlideMaster):
45+
class DefaultSlideMaster(SlideMaster):
4646
Master: DefaultMasterSlide
4747
Title: DefaultTitleSlide
4848
TitleAndContent: DefaultTitleAndContentSlide
@@ -59,5 +59,5 @@ class DefaultSlideMaster(TpptSlideMaster):
5959

6060
GenericTpptSlideMaster = TypeVar(
6161
"GenericTpptSlideMaster",
62-
bound=TpptSlideMaster,
62+
bound=SlideMaster,
6363
)

tests/test_slide.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def test_slide_layout_placeholders() -> None:
5151
pytest.skip("No slide layouts in presentation")
5252

5353
# Get the first slide layout
54-
slide_layout = tppt.SlideLayout(pptx_presentation.slide_layouts[0])
54+
slide_layout = tppt.pptx.SlideLayout(pptx_presentation.slide_layouts[0])
5555

5656
# Test that we can get placeholders
5757
placeholders = slide_layout.placeholders

0 commit comments

Comments
 (0)