33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
"""|NumberingPart| and closely related objects."""
|
|
|
|
from ..opc.part import XmlPart
|
|
from ..shared import lazyproperty
|
|
|
|
|
|
class NumberingPart(XmlPart):
|
|
"""Proxy for the numbering.xml part containing numbering definitions for a document
|
|
or glossary."""
|
|
|
|
@classmethod
|
|
def new(cls) -> "NumberingPart":
|
|
"""Newly created numbering part, containing only the root ``<w:numbering>`` element."""
|
|
raise NotImplementedError
|
|
|
|
@lazyproperty
|
|
def numbering_definitions(self):
|
|
"""The |_NumberingDefinitions| instance containing the numbering definitions
|
|
(<w:num> element proxies) for this numbering part."""
|
|
return _NumberingDefinitions(self._element)
|
|
|
|
|
|
class _NumberingDefinitions:
|
|
"""Collection of |_NumberingDefinition| instances corresponding to the ``<w:num>``
|
|
elements in a numbering part."""
|
|
|
|
def __init__(self, numbering_elm):
|
|
super(_NumberingDefinitions, self).__init__()
|
|
self._numbering = numbering_elm
|
|
|
|
def __len__(self):
|
|
return len(self._numbering.num_lst)
|