|
3 | 3 | from __future__ import annotations
|
4 | 4 |
|
5 | 5 | import re
|
6 |
| -from typing import TYPE_CHECKING, Any, Callable, Dict, List, Tuple, Type, TypeVar |
| 6 | +from typing import TYPE_CHECKING, Any, Callable, Dict, Tuple, Type, TypeVar |
7 | 7 |
|
8 | 8 | from lxml import etree
|
9 | 9 | from lxml.etree import ElementBase
|
@@ -91,12 +91,6 @@ def _parse_line(cls, line):
|
91 | 91 | class MetaOxmlElement(type):
|
92 | 92 | """Metaclass for BaseOxmlElement."""
|
93 | 93 |
|
94 |
| - def __new__( |
95 |
| - cls: Type[_T], clsname: str, bases: Tuple[type, ...], namespace: Dict[str, Any] |
96 |
| - ) -> _T: |
97 |
| - bases = (*bases, etree.ElementBase) |
98 |
| - return super().__new__(cls, clsname, bases, namespace) |
99 |
| - |
100 | 94 | def __init__(cls, clsname: str, bases: Tuple[type, ...], namespace: Dict[str, Any]):
|
101 | 95 | dispatchable = (
|
102 | 96 | OneAndOnlyOne,
|
@@ -647,25 +641,15 @@ def _remove_choice_group_method_name(self):
|
647 | 641 | return "_remove_%s" % self._prop_name
|
648 | 642 |
|
649 | 643 |
|
650 |
| -class BaseOxmlElement(metaclass=MetaOxmlElement): |
| 644 | +# -- lxml typing isn't quite right here, just ignore this error on _Element -- |
| 645 | +class BaseOxmlElement( # pyright: ignore[reportGeneralTypeIssues] |
| 646 | + etree.ElementBase, metaclass=MetaOxmlElement |
| 647 | +): |
651 | 648 | """Effective base class for all custom element classes.
|
652 | 649 |
|
653 | 650 | Adds standardized behavior to all classes in one place.
|
654 | 651 | """
|
655 | 652 |
|
656 |
| - addprevious: Callable[[BaseOxmlElement], None] |
657 |
| - attrib: Dict[str, str] |
658 |
| - append: Callable[[BaseOxmlElement], None] |
659 |
| - find: Callable[[str], ElementBase | None] |
660 |
| - findall: Callable[[str], List[ElementBase]] |
661 |
| - get: Callable[[str], str | None] |
662 |
| - getparent: Callable[[], BaseOxmlElement] |
663 |
| - insert: Callable[[int, BaseOxmlElement], None] |
664 |
| - remove: Callable[[BaseOxmlElement], None] |
665 |
| - set: Callable[[str, str], None] |
666 |
| - tag: str |
667 |
| - text: str | None |
668 |
| - |
669 | 653 | def __repr__(self):
|
670 | 654 | return "<%s '<%s>' at 0x%0x>" % (
|
671 | 655 | self.__class__.__name__,
|
|
0 commit comments