From 4a52a71956a8d46fcb7294ac71734504bb09bcc2 Mon Sep 17 00:00:00 2001 From: S. Solomon Darnell Date: Fri, 28 Mar 2025 21:52:21 -0500 Subject: two version of R2R are here --- .venv/lib/python3.12/site-packages/docx/api.py | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/docx/api.py (limited to '.venv/lib/python3.12/site-packages/docx/api.py') diff --git a/.venv/lib/python3.12/site-packages/docx/api.py b/.venv/lib/python3.12/site-packages/docx/api.py new file mode 100644 index 00000000..aea87645 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/docx/api.py @@ -0,0 +1,37 @@ +"""Directly exposed API functions and classes, :func:`Document` for now. + +Provides a syntactically more convenient API for interacting with the OpcPackage graph. +""" + +from __future__ import annotations + +import os +from typing import IO, TYPE_CHECKING, cast + +from docx.opc.constants import CONTENT_TYPE as CT +from docx.package import Package + +if TYPE_CHECKING: + from docx.document import Document as DocumentObject + from docx.parts.document import DocumentPart + + +def Document(docx: str | IO[bytes] | None = None) -> DocumentObject: + """Return a |Document| object loaded from `docx`, where `docx` can be either a path + to a ``.docx`` file (a string) or a file-like object. + + If `docx` is missing or ``None``, the built-in default document "template" is + loaded. + """ + docx = _default_docx_path() if docx is None else docx + document_part = cast("DocumentPart", Package.open(docx).main_document_part) + if document_part.content_type != CT.WML_DOCUMENT_MAIN: + tmpl = "file '%s' is not a Word file, content type is '%s'" + raise ValueError(tmpl % (docx, document_part.content_type)) + return document_part.document + + +def _default_docx_path(): + """Return the path to the built-in default .docx package.""" + _thisdir = os.path.split(__file__)[0] + return os.path.join(_thisdir, "templates", "default.docx") -- cgit v1.2.3