Skip to content

Commit 64be698

Browse files
committed
refactor: rename classes and update type variables for consistency and clarity
1 parent d832f80 commit 64be698

File tree

4 files changed

+27
-25
lines changed

4 files changed

+27
-25
lines changed

src/tppt/__init__.py

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

33
from tppt import types as types
4-
from tppt._pptx.presentation import Presentation
5-
from tppt._pptx.shape import Shape
6-
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._tppt.slide_master import tpptSlideMaster
10-
11-
__all__ = [
12-
# Pptx
13-
"Presentation",
14-
"Shape",
15-
"Slide",
16-
"SlideBuilder",
17-
"SlideLayout",
18-
"SlideMaster",
19-
# tppt
20-
"tpptSlideMaster",
21-
]
4+
from tppt._pptx.presentation import Presentation as Presentation
5+
from tppt._pptx.shape import Shape as Shape
6+
from tppt._pptx.slide import Slide as Slide
7+
from tppt._pptx.slide import SlideBuilder as SlideBuilder
8+
from tppt._pptx.slide_layout import SlideLayout as SlideLayout
9+
from tppt._pptx.slide_master import SlideMaster as SlideMaster
10+
from tppt._tppt.slide_master import TpptSlideMaster as TpptSlideMaster

src/tppt/_pptx/presentation.py

Lines changed: 9 additions & 5 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 presentation_to_dict
9-
from tppt._tppt.slide_master import GenerictpptSlideMaster
9+
from tppt._tppt.slide_master import GenericTpptSlideMaster
1010
from tppt.types import FilePath
1111

1212
from .converter import PptxConvertible
@@ -40,8 +40,8 @@ def tree(self) -> dict[str, Any]:
4040

4141
@classmethod
4242
def builder(
43-
cls, slide_master: GenerictpptSlideMaster | None = None
44-
) -> "PresentationBuilder[GenerictpptSlideMaster]":
43+
cls, slide_master: GenericTpptSlideMaster | None = None
44+
) -> "PresentationBuilder[GenericTpptSlideMaster]":
4545
"""Get a builder for the presentation."""
4646
return PresentationBuilder(slide_master)
4747

@@ -61,10 +61,10 @@ def from_pptx(cls, pptx_obj: PptxPresentation) -> Self:
6161
return cls(pptx_obj)
6262

6363

64-
class PresentationBuilder(Generic[GenerictpptSlideMaster]):
64+
class PresentationBuilder(Generic[GenericTpptSlideMaster]):
6565
"""Builder for presentations."""
6666

67-
def __init__(self, slide_master: GenerictpptSlideMaster | None = None) -> None:
67+
def __init__(self, slide_master: GenericTpptSlideMaster | None = None) -> None:
6868
"""Initialize the builder."""
6969
import pptx
7070

@@ -82,3 +82,7 @@ def build(self) -> Presentation:
8282
"""Build the presentation."""
8383

8484
return Presentation(self._pptx)
85+
86+
def save(self, file: FilePath | IO[bytes]) -> None:
87+
"""Save the presentation to a file."""
88+
self.build().save(file)

src/tppt/_tppt/slide_layout.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from abc import ABC
2+
3+
from tppt._pptx.slide import SlideBuilder
4+
5+
6+
class TttpSlideLayout(ABC):
7+
@classmethod
8+
def builder(cls) -> "SlideBuilder":
9+
raise NotImplementedError("tppt.SlideLayout.builder must be implemented")

src/tppt/_tppt/slide_master.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import TypeVar
22

33

4-
class tpptSlideMaster: ...
4+
class TpptSlideMaster: ...
55

66

7-
GenerictpptSlideMaster = TypeVar("GenerictpptSlideMaster", bound=tpptSlideMaster)
7+
GenericTpptSlideMaster = TypeVar("GenericTpptSlideMaster", bound=TpptSlideMaster)

0 commit comments

Comments
 (0)