Files
PsAgentAI/venv/lib/python3.11/site-packages/docx/parts/hdrftr.py
T
marcocosta10000 6b3b6541a7 feat: add psagentai agent with deployment and configuration
Initial project setup including the main agent script, configuration
files, profile JSON state, systemd service unit, startup script,
deployment documentation, and Python dependencies.

Includes .env, venv/, and __pycache__/ which should likely be
excluded via .gitignore to avoid committing secrets and artifacts.
2026-10-25 17:05:13 -03:00

54 lines
1.7 KiB
Python

"""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