aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/docx/parts/hdrftr.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/docx/parts/hdrftr.py')
-rw-r--r--.venv/lib/python3.12/site-packages/docx/parts/hdrftr.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/docx/parts/hdrftr.py b/.venv/lib/python3.12/site-packages/docx/parts/hdrftr.py
new file mode 100644
index 00000000..35113801
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docx/parts/hdrftr.py
@@ -0,0 +1,53 @@
+"""Header and footer part objects."""
+
+from __future__ import annotations
+
+import os
+from typing import TYPE_CHECKING
+
+from docx.opc.constants import CONTENT_TYPE as CT
+from docx.oxml.parser import parse_xml
+from docx.parts.story import StoryPart
+
+if TYPE_CHECKING:
+ from docx.package import Package
+
+
+class FooterPart(StoryPart):
+ """Definition of a section footer."""
+
+ @classmethod
+ def new(cls, package: Package):
+ """Return newly created footer part."""
+ partname = package.next_partname("/word/footer%d.xml")
+ content_type = CT.WML_FOOTER
+ element = parse_xml(cls._default_footer_xml())
+ return cls(partname, content_type, element, package)
+
+ @classmethod
+ def _default_footer_xml(cls):
+ """Return bytes containing XML for a default footer part."""
+ path = os.path.join(os.path.split(__file__)[0], "..", "templates", "default-footer.xml")
+ with open(path, "rb") as f:
+ xml_bytes = f.read()
+ return xml_bytes
+
+
+class HeaderPart(StoryPart):
+ """Definition of a section header."""
+
+ @classmethod
+ def new(cls, package: Package):
+ """Return newly created header part."""
+ partname = package.next_partname("/word/header%d.xml")
+ content_type = CT.WML_HEADER
+ element = parse_xml(cls._default_header_xml())
+ return cls(partname, content_type, element, package)
+
+ @classmethod
+ def _default_header_xml(cls):
+ """Return bytes containing XML for a default header part."""
+ path = os.path.join(os.path.split(__file__)[0], "..", "templates", "default-header.xml")
+ with open(path, "rb") as f:
+ xml_bytes = f.read()
+ return xml_bytes