python-docx-oss 0.0.4__tar.gz → 0.0.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of python-docx-oss might be problematic. Click here for more details.
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/HISTORY.md +11 -0
- {python-docx-oss-0.0.4/python_docx_oss.egg-info → python-docx-oss-0.0.6}/PKG-INFO +20 -3
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/README.md +8 -2
- python-docx-oss-0.0.6/docs/_static/img/oss.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/conf.py +2 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/index.rst +1 -0
- python-docx-oss-0.0.6/docs/user/custom-properties.rst +30 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/custom-xml.rst +4 -3
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/__init__.py +1 -1
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/document.py +7 -5
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/customprops.py +3 -7
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/parts/customprops.py +1 -2
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/__init__.py +2 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/customprops.py +4 -13
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/shape.py +67 -3
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/document.py +1 -1
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/story.py +12 -6
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/text/run.py +6 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/_scratch/test_out.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6/python_docx_oss.egg-info}/PKG-INFO +20 -3
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/python_docx_oss.egg-info/SOURCES.txt +2 -1
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_customprops.py +2 -11
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_document.py +31 -7
- python-docx-oss-0.0.4/docs/conf.py.bak +0 -383
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/LICENSE +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/MANIFEST.in +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/Makefile +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_static/.gitignore +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_static/img/example-docx-01.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_static/img/hdrftr-01.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_static/img/hdrftr-02.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_templates/layout.html +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_templates/sidebarlinks.html +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_themes/armstrong/LICENSE +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_themes/armstrong/layout.html +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_themes/armstrong/rtd-themes.conf +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_themes/armstrong/static/rtd.css_t +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_themes/armstrong/theme.conf +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/_themes/armstrong/theme.conf.orig +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/dml.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/document.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/MsoColorType.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/MsoThemeColorIndex.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdAlignParagraph.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdBuiltinStyle.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdCellVerticalAlignment.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdColorIndex.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdLineSpacing.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdOrientation.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdRowAlignment.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdRowHeightRule.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdSectionStart.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdStyleType.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdTabAlignment.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdTabLeader.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdTableDirection.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/WdUnderline.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/enum/index.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/section.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/settings.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/shape.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/shared.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/style.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/table.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/api/text.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/coreprops.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/header.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/numbering.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/sections.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/settings.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/shapes/index.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/shapes/picture.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/shapes/shapes-inline-size.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/shapes/shapes-inline.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/styles/character-style.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/styles/index.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/styles/latent-styles.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/styles/paragraph-style.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/styles/style.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/styles/styles.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/table/cell-merge.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/table/index.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/table/table-cell.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/table/table-props.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/table/table-row.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/breaks.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/font-color.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/font-highlight-color.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/font.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/index.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/paragraph-format.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/run-content.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/tab-stops.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/features/text/underline.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/index.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/schema/ct_body.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/schema/ct_document.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/dev/analysis/schema/ct_p.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/requirements.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/api-concepts.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/documents.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/hdrftr.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/install.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/quickstart.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/sections.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/shapes.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/styles-understanding.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/styles-using.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docs/user/text.rst +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/api.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/blkcntnr.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/compat.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/dml/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/dml/color.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/base.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/dml.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/section.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/shape.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/style.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/table.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/enum/text.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/exceptions.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/bmp.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/constants.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/exceptions.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/gif.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/helpers.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/image.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/jpeg.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/png.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/image/tiff.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/compat.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/constants.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/coreprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/exceptions.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/oxml.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/package.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/packuri.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/part.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/parts/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/parts/coreprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/phys_pkg.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/pkgreader.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/pkgwriter.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/rel.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/shared.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/opc/spec.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/coreprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/document.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/exceptions.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/ns.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/numbering.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/section.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/settings.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/shared.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/simpletypes.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/table.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/text/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/text/font.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/text/paragraph.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/text/parfmt.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/text/run.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/oxml/xmlchemy.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/package.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/customxml.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/hdrftr.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/image.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/numbering.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/settings.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/parts/styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/section.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/settings.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/shape.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/shared.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/styles/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/styles/latent.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/styles/style.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/styles/styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/table.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/[Content_Types].xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/_rels/.rels +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/customXml/_rels/item1.xml.rels +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/customXml/item1.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/customXml/itemProps1.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/docProps/app.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/docProps/core.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/docProps/thumbnail.jpeg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/_rels/document.xml.rels +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/document.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/fontTable.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/numbering.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/settings.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/styles.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/stylesWithEffects.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/theme/theme1.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-docx-template/word/webSettings.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-footer.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-header.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-numbering.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-settings.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default-styles.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/templates/default.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/text/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/text/font.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/text/paragraph.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/text/parfmt.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/docx/text/tabstops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/api-open-document.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/blk-add-paragraph.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/blk-add-table.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/cel-add-table.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/cel-text.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-access-collections.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-access-sections.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-add-heading.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-add-page-break.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-add-paragraph.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-add-picture.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-add-section.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-add-table.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-coreprops.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-customprops.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-settings.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/doc-styles.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/environment.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/hdr-header-footer.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/img-characterize-image.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/num-access-numbering-part.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/par-access-parfmt.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/par-add-run.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/par-alignment-prop.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/par-clear-paragraph.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/par-insert-paragraph.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/par-set-text.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/par-style-prop.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/run-access-content.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/run-access-font.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/run-add-content.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/run-add-picture.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/run-char-style.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/run-clear-run.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/run-enum-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sct-section.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/shp-inline-shape-access.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/shp-inline-shape-size.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/api.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/block.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/cell.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/coreprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/customprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/document.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/font.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/hdrftr.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/helpers.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/image.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/numbering.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/paragraph.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/parfmt.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/section.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/settings.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/shape.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/shared.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/table.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/tabstops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/blk-containing-table.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/court-exif.jpg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-access-sections.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-add-section.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-coreprops.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-customprops.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-default.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-no-coreprops.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-no-customprops.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-odd-even-hdrs.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/doc-word-default-blank.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/fnt-color.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/hdr-header-footer.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/jfif-300-dpi.jpg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/jpeg420exif.jpg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/lena.bmp +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/lena.gif +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/lena.tif +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/lena_std.jpg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/monty-truth.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/mountain.bmp +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/num-having-numbering-part.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/par-alignment.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/par-known-paragraphs.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/par-known-styles.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/python-icon.jpeg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/run-char-style.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/run-enumerated-props.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/sample.tif +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/sct-first-page-hdrftr.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/sct-section-props.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/set-no-settings-part.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/shp-inline-shape-access.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/sty-behav-props.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/sty-having-no-styles-part.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/sty-having-styles-part.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/sty-known-styles.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tab-stops.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tbl-2x2-table.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tbl-cell-access.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tbl-col-props.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tbl-having-applied-style.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tbl-having-tables.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tbl-on-off-props.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/tbl-props.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/test.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/txt-font-highlight-color.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/test_files/txt-font-props.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/steps/text.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-access-font.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-access-latent-styles.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-access-parfmt.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-add-style.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-delete-style.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-latent-add-del.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-latent-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/sty-style-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tab-access-tabs.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tab-tabstop-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-add-row-or-col.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-cell-access.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-cell-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-col-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-item-access.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-merge-cells.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-row-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/tbl-style.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/txt-add-break.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/txt-font-color.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/txt-font-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/features/txt-parfmt-props.feature +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/python_docx_oss.egg-info/dependency_links.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/python_docx_oss.egg-info/not-zip-safe +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/python_docx_oss.egg-info/requires.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/python_docx_oss.egg-info/top_level.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/setup.cfg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/setup.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/dml/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/dml/test_color.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/test_bmp.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/test_gif.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/test_helpers.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/test_image.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/test_jpeg.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/test_png.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/image/test_tiff.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/parts/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/parts/test_coreprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/parts/test_customprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_coreprops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_oxml.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_package.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_packuri.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_part.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_phys_pkg.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_pkgreader.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_pkgwriter.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/test_rel.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/unitdata/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/unitdata/rels.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/opc/unitdata/types.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/parts/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/parts/test_document.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/parts/unitdata/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/parts/unitdata/document.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/test__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/test_ns.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/test_styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/test_table.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/test_xmlchemy.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/text/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/text/test_run.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/dml.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/numbering.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/section.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/shared.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/table.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/oxml/unitdata/text.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_customxml.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_document.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_hdrftr.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_image.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_numbering.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_settings.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_story.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/parts/test_styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/styles/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/styles/test_latent.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/styles/test_style.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/styles/test_styles.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_api.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_blkcntnr.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_enum.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/150-dpi.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/300-dpi.TIF +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/300-dpi.jpg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/300-dpi.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/72-dpi.tiff +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/CVS_LOGO.WMF +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/exif-420-dpi.jpg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/[Content_Types].xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/_rels/.rels +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/customXml/_rels/item1.xml.rels +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/customXml/item1.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/customXml/itemProps1.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/docProps/app.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/docProps/core.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/docProps/thumbnail.jpeg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/_rels/document.xml.rels +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/document.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/fontTable.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/numbering.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/settings.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/styles.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/stylesWithEffects.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/theme/theme1.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/expanded_docx/word/webSettings.xml +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/having-images.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/jfif-iguana.jpg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/little-endian.tif +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/monty-truth.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/python-icon.jpeg +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/python-icon.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/python-powered.png +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/python.bmp +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/snippets/add-row-col.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/snippets/inline.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/snippets/new-tbl.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/snippets/tbl-cells.txt +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/sonic.gif +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_files/test.docx +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_package.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_section.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_settings.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_shape.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_shared.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/test_table.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/text/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/text/test_font.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/text/test_paragraph.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/text/test_parfmt.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/text/test_run.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/text/test_tabstops.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/unitdata.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/unitutil/__init__.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/unitutil/cxml.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/unitutil/file.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tests/unitutil/mock.py +0 -0
- {python-docx-oss-0.0.4 → python-docx-oss-0.0.6}/tox.ini +0 -0
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
Release History
|
|
2
2
|
---------------
|
|
3
3
|
|
|
4
|
+
**0.0.6 (2022-10-21)**
|
|
5
|
+
|
|
6
|
+
- change default custom xml file name to item1.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
**0.0.5 (2022-8-08)**
|
|
10
|
+
|
|
11
|
+
- minor refactor custom-properties
|
|
12
|
+
- add add_float_picture in Document #21
|
|
13
|
+
|
|
14
|
+
|
|
4
15
|
**0.0.4 (2022-7-21)**
|
|
5
16
|
|
|
6
17
|
- public python-docx-oss docs @ readthedocs.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-docx-oss
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.6
|
|
4
4
|
Summary: Create and update Microsoft Word .docx files.
|
|
5
5
|
Home-page: https://github.com/lsaint/python-docx-oss
|
|
6
6
|
Author: Ethan St. Lee
|
|
@@ -42,7 +42,13 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
42
42
|
Description-Content-Type: text/markdown
|
|
43
43
|
License-File: LICENSE
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
<p align="center">
|
|
46
|
+
<img src="./docs/_static/img/oss.png" width="400" alt="oss"/>
|
|
47
|
+
</p>
|
|
48
|
+
|
|
49
|
+
*As a Brazilian jiu-jitsu player, OSS means anything and everything. It’s a term used in BJJ that is a way of greeting and demonstrating respect to others.*
|
|
50
|
+
|
|
51
|
+
**_python-docx-oss_** is a Python library for CRUD Microsoft Word (.docx) files. It fork from [python-docx](https://github.com/python-openxml/python-docx).
|
|
46
52
|
|
|
47
53
|
|
|
48
54
|
<p>
|
|
@@ -62,12 +68,23 @@ License-File: LICENSE
|
|
|
62
68
|
|
|
63
69
|
---
|
|
64
70
|
|
|
65
|
-
More information is available in the [python-docx documentation](https://python-docx.readthedocs.
|
|
71
|
+
More information is available in the [python-docx-oss documentation](https://python-docx-oss.readthedocs.io/en/latest/)
|
|
66
72
|
|
|
67
73
|
|
|
68
74
|
Release History
|
|
69
75
|
---------------
|
|
70
76
|
|
|
77
|
+
**0.0.6 (2022-10-21)**
|
|
78
|
+
|
|
79
|
+
- change default custom xml file name to item1.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
**0.0.5 (2022-8-08)**
|
|
83
|
+
|
|
84
|
+
- minor refactor custom-properties
|
|
85
|
+
- add add_float_picture in Document #21
|
|
86
|
+
|
|
87
|
+
|
|
71
88
|
**0.0.4 (2022-7-21)**
|
|
72
89
|
|
|
73
90
|
- public python-docx-oss docs @ readthedocs.
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="./docs/_static/img/oss.png" width="400" alt="oss"/>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
*As a Brazilian jiu-jitsu player, OSS means anything and everything. It’s a term used in BJJ that is a way of greeting and demonstrating respect to others.*
|
|
6
|
+
|
|
7
|
+
**_python-docx-oss_** is a Python library for CRUD Microsoft Word (.docx) files. It fork from [python-docx](https://github.com/python-openxml/python-docx).
|
|
2
8
|
|
|
3
9
|
|
|
4
10
|
<p>
|
|
@@ -18,4 +24,4 @@
|
|
|
18
24
|
|
|
19
25
|
---
|
|
20
26
|
|
|
21
|
-
More information is available in the [python-docx documentation](https://python-docx.readthedocs.
|
|
27
|
+
More information is available in the [python-docx-oss documentation](https://python-docx-oss.readthedocs.io/en/latest/)
|
|
Binary file
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
.. _custom_properties:
|
|
2
|
+
|
|
3
|
+
Working with custom properties
|
|
4
|
+
==============================
|
|
5
|
+
The custom properties can be accessed/modified by navigating to
|
|
6
|
+
File menu --> Properties --> Advanced properties --> Customization in Word.
|
|
7
|
+
These properties are stored in the ``/docProps/custom.xml`` file.
|
|
8
|
+
|
|
9
|
+
we can CRUD them via python-docx-oss::
|
|
10
|
+
|
|
11
|
+
from docx import Document
|
|
12
|
+
document = Document()
|
|
13
|
+
|
|
14
|
+
>>> print(document.custom_properties["not-exist-key"])
|
|
15
|
+
None
|
|
16
|
+
|
|
17
|
+
>>> document.custom_properties["bjj"] = "oss"
|
|
18
|
+
>>> print(document.custom_properties["bjj"])
|
|
19
|
+
oss
|
|
20
|
+
|
|
21
|
+
>>> document.custom_properties["bjj"] = "rnc"
|
|
22
|
+
>>> print(document.custom_properties["bjj"])
|
|
23
|
+
rnc
|
|
24
|
+
|
|
25
|
+
>>> document.custom_properties["bjj"] = None
|
|
26
|
+
>>> print(document.custom_properties["bjj"])
|
|
27
|
+
None
|
|
28
|
+
|
|
29
|
+
Be careful, users also can see & modify these properties in Word.
|
|
30
|
+
Use :ref:`customXml<custom_xml>` if you need them hidden.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
..
|
|
1
|
+
.. _custom_xml:
|
|
2
2
|
|
|
3
3
|
Working with customXml
|
|
4
4
|
=======================
|
|
@@ -6,9 +6,10 @@ Working with customXml
|
|
|
6
6
|
As we know, Word documents are .zip files under the hook.
|
|
7
7
|
Can we add any file in a docx file? Literally yes.
|
|
8
8
|
After we unzip a docx file, We can add a ``customXml`` folder at the root of it,
|
|
9
|
-
which contains any
|
|
9
|
+
which contains any .xml files.
|
|
10
|
+
Files with other extension and paths are invalid.
|
|
10
11
|
But it's enough for us to store custom data.
|
|
11
|
-
It can not be seen or modified in Word like
|
|
12
|
+
It can not be seen or modified in Word like :ref:`CustomProperties<custom_properties>`.
|
|
12
13
|
|
|
13
14
|
python-docx-oss will create a default XML file in the folder if there are not.
|
|
14
15
|
Then developer can add/delete/modify items in it.
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
1
|
"""|Document| and closely related objects"""
|
|
4
|
-
|
|
5
|
-
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
6
|
-
|
|
7
2
|
from docx.blkcntnr import BlockItemContainer
|
|
8
3
|
from docx.enum.section import WD_SECTION
|
|
9
4
|
from docx.enum.text import WD_BREAK
|
|
@@ -71,6 +66,13 @@ class Document(ElementProxy):
|
|
|
71
66
|
run = self.add_paragraph().add_run()
|
|
72
67
|
return run.add_picture(image_path_or_stream, width, height)
|
|
73
68
|
|
|
69
|
+
def add_float_picture(self, image_path_or_stream, width=None, height=None, pos_x=0, pos_y=0):
|
|
70
|
+
"""
|
|
71
|
+
Add float picture at fixed position `pos_x` and `pos_y` to the top-left point of page.
|
|
72
|
+
"""
|
|
73
|
+
run = self.add_paragraph().add_run()
|
|
74
|
+
return run.add_float_picture(image_path_or_stream, width, height, pos_x, pos_y)
|
|
75
|
+
|
|
74
76
|
def add_section(self, start_type=WD_SECTION.NEW_PAGE):
|
|
75
77
|
"""
|
|
76
78
|
Return a |Section| object representing a new section added at the end
|
|
@@ -21,7 +21,7 @@ class CustomProperties:
|
|
|
21
21
|
if elm.tag == "{%s}i4" % NS_VT:
|
|
22
22
|
try:
|
|
23
23
|
return int(elm.text)
|
|
24
|
-
except
|
|
24
|
+
except ValueError:
|
|
25
25
|
return elm.text
|
|
26
26
|
elif elm.tag == "{%s}bool" % NS_VT:
|
|
27
27
|
return elm.text == "1"
|
|
@@ -38,9 +38,7 @@ class CustomProperties:
|
|
|
38
38
|
elmType = "i4"
|
|
39
39
|
value = str(int(value))
|
|
40
40
|
prop = etree.SubElement(self._element, "property")
|
|
41
|
-
elm = etree.SubElement(
|
|
42
|
-
prop, "{%s}%s" % (NS_VT, elmType), nsmap={"vt": NS_VT}
|
|
43
|
-
)
|
|
41
|
+
elm = etree.SubElement(prop, "{%s}%s" % (NS_VT, elmType), nsmap={"vt": NS_VT})
|
|
44
42
|
elm.text = value
|
|
45
43
|
prop.set("name", key)
|
|
46
44
|
prop.set("fmtid", "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
|
|
@@ -58,6 +56,4 @@ class CustomProperties:
|
|
|
58
56
|
return len(self._element)
|
|
59
57
|
|
|
60
58
|
def lookup(self, item):
|
|
61
|
-
return next(
|
|
62
|
-
(child for child in self._element if child.get("name") == item), None
|
|
63
|
-
)
|
|
59
|
+
return next((child for child in self._element if child.get("name") == item), None)
|
|
@@ -58,5 +58,4 @@ class CustomPropertiesPart(XmlPart):
|
|
|
58
58
|
def _new(cls, package):
|
|
59
59
|
partname = PackURI("/docProps/custom.xml")
|
|
60
60
|
content_type = CT.OPC_CUSTOM_PROPERTIES
|
|
61
|
-
|
|
62
|
-
return CustomPropertiesPart(partname, content_type, customProperties, package)
|
|
61
|
+
return CustomPropertiesPart(partname, content_type, CT_CustomProperties.new(), package)
|
|
@@ -117,6 +117,7 @@ register_element_cls("w:settings", CT_Settings)
|
|
|
117
117
|
|
|
118
118
|
from .shape import CT_GraphicalObject # noqa
|
|
119
119
|
from .shape import (
|
|
120
|
+
CT_Anchor,
|
|
120
121
|
CT_Blip,
|
|
121
122
|
CT_BlipFillProperties,
|
|
122
123
|
CT_GraphicalObjectData,
|
|
@@ -144,6 +145,7 @@ register_element_cls("pic:spPr", CT_ShapeProperties)
|
|
|
144
145
|
register_element_cls("wp:docPr", CT_NonVisualDrawingProps)
|
|
145
146
|
register_element_cls("wp:extent", CT_PositiveSize2D)
|
|
146
147
|
register_element_cls("wp:inline", CT_Inline)
|
|
148
|
+
register_element_cls("wp:anchor", CT_Anchor)
|
|
147
149
|
|
|
148
150
|
from .styles import CT_LatentStyles, CT_LsdException, CT_Style, CT_Styles # noqa
|
|
149
151
|
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
lxml custom element classes for core properties-related XML elements.
|
|
5
3
|
"""
|
|
6
|
-
|
|
7
|
-
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
8
|
-
|
|
9
4
|
import re
|
|
10
5
|
from datetime import datetime, timedelta
|
|
11
6
|
|
|
12
|
-
from lxml import etree
|
|
13
|
-
|
|
14
7
|
from . import parse_xml
|
|
15
8
|
from .ns import nsdecls, qn
|
|
16
|
-
from .xmlchemy import BaseOxmlElement
|
|
9
|
+
from .xmlchemy import BaseOxmlElement
|
|
17
10
|
|
|
18
11
|
|
|
19
12
|
class CT_CustomProperties(BaseOxmlElement):
|
|
@@ -34,8 +27,7 @@ class CT_CustomProperties(BaseOxmlElement):
|
|
|
34
27
|
Return a new ``<property>`` element
|
|
35
28
|
"""
|
|
36
29
|
xml = cls._customProperties_tmpl
|
|
37
|
-
|
|
38
|
-
return customProperties
|
|
30
|
+
return parse_xml(xml)
|
|
39
31
|
|
|
40
32
|
def _datetime_of_element(self, property_name):
|
|
41
33
|
element = getattr(self, property_name)
|
|
@@ -52,10 +44,9 @@ class CT_CustomProperties(BaseOxmlElement):
|
|
|
52
44
|
"""
|
|
53
45
|
Return element returned by 'get_or_add_' method for *prop_name*.
|
|
54
46
|
"""
|
|
55
|
-
get_or_add_method_name = "get_or_add_
|
|
47
|
+
get_or_add_method_name = f"get_or_add_{prop_name}"
|
|
56
48
|
get_or_add_method = getattr(self, get_or_add_method_name)
|
|
57
|
-
|
|
58
|
-
return element
|
|
49
|
+
return get_or_add_method()
|
|
59
50
|
|
|
60
51
|
@classmethod
|
|
61
52
|
def _offset_dt(cls, dt, offset_str):
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Custom element classes for shape-related elements like ``<w:inline>``
|
|
5
3
|
"""
|
|
4
|
+
from docx.oxml import parse_xml
|
|
5
|
+
from docx.oxml.ns import nsdecls
|
|
6
|
+
from docx.oxml.xmlchemy import BaseOxmlElement, OneAndOnlyOne
|
|
6
7
|
|
|
7
|
-
from . import parse_xml
|
|
8
8
|
from .ns import nsdecls
|
|
9
9
|
from .simpletypes import (
|
|
10
10
|
ST_Coordinate,
|
|
@@ -308,3 +308,67 @@ class CT_Transform2D(BaseOxmlElement):
|
|
|
308
308
|
def cy(self, value):
|
|
309
309
|
ext = self.get_or_add_ext()
|
|
310
310
|
ext.cy = value
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
class CT_Anchor(BaseOxmlElement):
|
|
314
|
+
"""
|
|
315
|
+
``<w:anchor>`` element, container for a floating image.
|
|
316
|
+
"""
|
|
317
|
+
|
|
318
|
+
extent = OneAndOnlyOne("wp:extent")
|
|
319
|
+
docPr = OneAndOnlyOne("wp:docPr")
|
|
320
|
+
graphic = OneAndOnlyOne("a:graphic")
|
|
321
|
+
|
|
322
|
+
@classmethod
|
|
323
|
+
def new(cls, cx, cy, shape_id, pic, pos_x, pos_y):
|
|
324
|
+
"""
|
|
325
|
+
Return a new ``<wp:anchor>`` element populated with the values passed
|
|
326
|
+
as parameters.
|
|
327
|
+
"""
|
|
328
|
+
anchor = parse_xml(cls._anchor_xml(pos_x, pos_y))
|
|
329
|
+
anchor.extent.cx = cx
|
|
330
|
+
anchor.extent.cy = cy
|
|
331
|
+
anchor.docPr.id = shape_id
|
|
332
|
+
anchor.docPr.name = "Picture %d" % shape_id
|
|
333
|
+
anchor.graphic.graphicData.uri = (
|
|
334
|
+
"http://schemas.openxmlformats.org/drawingml/2006/picture"
|
|
335
|
+
)
|
|
336
|
+
anchor.graphic.graphicData._insert_pic(pic)
|
|
337
|
+
return anchor
|
|
338
|
+
|
|
339
|
+
@classmethod
|
|
340
|
+
def new_pic_anchor(cls, shape_id, rId, filename, cx, cy, pos_x, pos_y):
|
|
341
|
+
"""
|
|
342
|
+
Return a new `wp:anchor` element containing the `pic:pic` element
|
|
343
|
+
specified by the argument values.
|
|
344
|
+
"""
|
|
345
|
+
pic_id = 0 # Word doesn't seem to use this, but does not omit it
|
|
346
|
+
pic = CT_Picture.new(pic_id, filename, rId, cx, cy)
|
|
347
|
+
anchor = cls.new(cx, cy, shape_id, pic, pos_x, pos_y)
|
|
348
|
+
anchor.graphic.graphicData._insert_pic(pic)
|
|
349
|
+
return anchor
|
|
350
|
+
|
|
351
|
+
@classmethod
|
|
352
|
+
def _anchor_xml(cls, pos_x, pos_y):
|
|
353
|
+
return (
|
|
354
|
+
'<wp:anchor distT="0" distB="0" distL="0" distR="0" simplePos="0" relativeHeight="0" \n'
|
|
355
|
+
' behindDoc="1" locked="0" layoutInCell="1" allowOverlap="1" \n'
|
|
356
|
+
" %s>\n"
|
|
357
|
+
' <wp:simplePos x="0" y="0"/>\n'
|
|
358
|
+
' <wp:positionH relativeFrom="page">\n'
|
|
359
|
+
" <wp:posOffset>%d</wp:posOffset>\n"
|
|
360
|
+
" </wp:positionH>\n"
|
|
361
|
+
' <wp:positionV relativeFrom="page">\n'
|
|
362
|
+
" <wp:posOffset>%d</wp:posOffset>\n"
|
|
363
|
+
" </wp:positionV>\n"
|
|
364
|
+
' <wp:extent cx="914400" cy="914400"/>\n'
|
|
365
|
+
" <wp:wrapNone/>\n"
|
|
366
|
+
' <wp:docPr id="666" name="unnamed"/>\n'
|
|
367
|
+
" <wp:cNvGraphicFramePr>\n"
|
|
368
|
+
' <a:graphicFrameLocks noChangeAspect="1"/>\n'
|
|
369
|
+
" </wp:cNvGraphicFramePr>\n"
|
|
370
|
+
" <a:graphic>\n"
|
|
371
|
+
' <a:graphicData uri="URI not set"/>\n'
|
|
372
|
+
" </a:graphic>\n"
|
|
373
|
+
"</wp:anchor>" % (nsdecls("wp", "a", "pic", "r"), int(pos_x), int(pos_y))
|
|
374
|
+
)
|
|
@@ -63,7 +63,7 @@ class DocumentPart(BaseStoryPart):
|
|
|
63
63
|
return []
|
|
64
64
|
|
|
65
65
|
def add_custom_xml_part(
|
|
66
|
-
self, xml: str, file_name: str = "
|
|
66
|
+
self, xml: str, file_name: str = "item1", content_type: str = CT.XML
|
|
67
67
|
) -> CustomXmlPart:
|
|
68
68
|
"""
|
|
69
69
|
Add a file in /customXml/*file_name*.xml with default content *xml*
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
1
|
"""|BaseStoryPart| and related objects"""
|
|
4
|
-
|
|
5
|
-
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
6
|
-
|
|
7
2
|
from docx.opc.constants import RELATIONSHIP_TYPE as RT
|
|
8
3
|
from docx.opc.part import XmlPart
|
|
9
|
-
from docx.oxml.shape import CT_Inline
|
|
4
|
+
from docx.oxml.shape import CT_Anchor, CT_Inline
|
|
10
5
|
from docx.shared import lazyproperty
|
|
11
6
|
|
|
12
7
|
|
|
@@ -58,6 +53,17 @@ class BaseStoryPart(XmlPart):
|
|
|
58
53
|
shape_id, filename = self.next_id, image.filename
|
|
59
54
|
return CT_Inline.new_pic_inline(shape_id, rId, filename, cx, cy)
|
|
60
55
|
|
|
56
|
+
def new_pic_anchor(self, image_descriptor, width, height, pos_x, pos_y):
|
|
57
|
+
"""Return a newly-created `w:anchor` element.
|
|
58
|
+
|
|
59
|
+
The element contains the image specified by *image_descriptor* and is scaled
|
|
60
|
+
based on the values of *width* and *height*.
|
|
61
|
+
"""
|
|
62
|
+
rId, image = self.get_or_add_image(image_descriptor)
|
|
63
|
+
cx, cy = image.scaled_dimensions(width, height)
|
|
64
|
+
shape_id, filename = self.next_id, image.filename
|
|
65
|
+
return CT_Anchor.new_pic_anchor(shape_id, rId, filename, cx, cy, pos_x, pos_y)
|
|
66
|
+
|
|
61
67
|
@property
|
|
62
68
|
def next_id(self):
|
|
63
69
|
"""Next available positive integer id value in this story XML document.
|
|
@@ -59,6 +59,12 @@ class Run(Parented):
|
|
|
59
59
|
self._r.add_drawing(inline)
|
|
60
60
|
return InlineShape(inline)
|
|
61
61
|
|
|
62
|
+
def add_float_picture(self, image_path_or_stream, width=None, height=None, pos_x=0, pos_y=0):
|
|
63
|
+
"""Add float picture at fixed position `pos_x` and `pos_y` to the top-left point of page."""
|
|
64
|
+
anchor = self.part.new_pic_anchor(image_path_or_stream, width, height, pos_x, pos_y)
|
|
65
|
+
self._r.add_drawing(anchor)
|
|
66
|
+
return anchor
|
|
67
|
+
|
|
62
68
|
def add_tab(self):
|
|
63
69
|
"""
|
|
64
70
|
Add a ``<w:tab/>`` element at the end of the run, which Word
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-docx-oss
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.6
|
|
4
4
|
Summary: Create and update Microsoft Word .docx files.
|
|
5
5
|
Home-page: https://github.com/lsaint/python-docx-oss
|
|
6
6
|
Author: Ethan St. Lee
|
|
@@ -42,7 +42,13 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
42
42
|
Description-Content-Type: text/markdown
|
|
43
43
|
License-File: LICENSE
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
<p align="center">
|
|
46
|
+
<img src="./docs/_static/img/oss.png" width="400" alt="oss"/>
|
|
47
|
+
</p>
|
|
48
|
+
|
|
49
|
+
*As a Brazilian jiu-jitsu player, OSS means anything and everything. It’s a term used in BJJ that is a way of greeting and demonstrating respect to others.*
|
|
50
|
+
|
|
51
|
+
**_python-docx-oss_** is a Python library for CRUD Microsoft Word (.docx) files. It fork from [python-docx](https://github.com/python-openxml/python-docx).
|
|
46
52
|
|
|
47
53
|
|
|
48
54
|
<p>
|
|
@@ -62,12 +68,23 @@ License-File: LICENSE
|
|
|
62
68
|
|
|
63
69
|
---
|
|
64
70
|
|
|
65
|
-
More information is available in the [python-docx documentation](https://python-docx.readthedocs.
|
|
71
|
+
More information is available in the [python-docx-oss documentation](https://python-docx-oss.readthedocs.io/en/latest/)
|
|
66
72
|
|
|
67
73
|
|
|
68
74
|
Release History
|
|
69
75
|
---------------
|
|
70
76
|
|
|
77
|
+
**0.0.6 (2022-10-21)**
|
|
78
|
+
|
|
79
|
+
- change default custom xml file name to item1.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
**0.0.5 (2022-8-08)**
|
|
83
|
+
|
|
84
|
+
- minor refactor custom-properties
|
|
85
|
+
- add add_float_picture in Document #21
|
|
86
|
+
|
|
87
|
+
|
|
71
88
|
**0.0.4 (2022-7-21)**
|
|
72
89
|
|
|
73
90
|
- public python-docx-oss docs @ readthedocs.
|
|
@@ -6,13 +6,13 @@ setup.py
|
|
|
6
6
|
tox.ini
|
|
7
7
|
docs/Makefile
|
|
8
8
|
docs/conf.py
|
|
9
|
-
docs/conf.py.bak
|
|
10
9
|
docs/index.rst
|
|
11
10
|
docs/requirements.txt
|
|
12
11
|
docs/_static/.gitignore
|
|
13
12
|
docs/_static/img/example-docx-01.png
|
|
14
13
|
docs/_static/img/hdrftr-01.png
|
|
15
14
|
docs/_static/img/hdrftr-02.png
|
|
15
|
+
docs/_static/img/oss.png
|
|
16
16
|
docs/_templates/layout.html
|
|
17
17
|
docs/_templates/sidebarlinks.html
|
|
18
18
|
docs/_themes/armstrong/LICENSE
|
|
@@ -81,6 +81,7 @@ docs/dev/analysis/schema/ct_body.rst
|
|
|
81
81
|
docs/dev/analysis/schema/ct_document.rst
|
|
82
82
|
docs/dev/analysis/schema/ct_p.rst
|
|
83
83
|
docs/user/api-concepts.rst
|
|
84
|
+
docs/user/custom-properties.rst
|
|
84
85
|
docs/user/custom-xml.rst
|
|
85
86
|
docs/user/documents.rst
|
|
86
87
|
docs/user/hdrftr.rst
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Unit test suite for the docx.opc.customprops module
|
|
5
3
|
"""
|
|
6
|
-
|
|
7
|
-
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
8
|
-
|
|
9
4
|
import pytest
|
|
10
5
|
|
|
11
|
-
from datetime import datetime
|
|
12
|
-
|
|
13
6
|
from docx.opc.customprops import CustomProperties
|
|
14
|
-
from docx.oxml.customprops import CT_CustomProperties
|
|
15
7
|
from docx.oxml import parse_xml
|
|
16
|
-
from lxml import etree
|
|
17
8
|
|
|
18
9
|
|
|
19
10
|
class DescribeCustomProperties(object):
|
|
@@ -53,12 +44,12 @@ class DescribeCustomProperties(object):
|
|
|
53
44
|
)
|
|
54
45
|
def prop_set_fixture(self, request, custom_properties_blank):
|
|
55
46
|
prop_name, str_type, str_value, value = request.param
|
|
56
|
-
expected_xml = self.
|
|
47
|
+
expected_xml = self.custom_properties(prop_name, str_type, str_value)
|
|
57
48
|
return custom_properties_blank, prop_name, value, expected_xml
|
|
58
49
|
|
|
59
50
|
# fixture components ---------------------------------------------
|
|
60
51
|
|
|
61
|
-
def
|
|
52
|
+
def custom_properties(self, prop_name, str_type, str_value):
|
|
62
53
|
tmpl = (
|
|
63
54
|
'<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" '
|
|
64
55
|
'xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">\n'
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
1
|
"""Unit test suite for the docx.document module"""
|
|
4
|
-
|
|
5
|
-
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
6
|
-
|
|
7
2
|
import pytest
|
|
8
3
|
|
|
9
|
-
from docx.document import
|
|
4
|
+
from docx.document import Document, _Body
|
|
10
5
|
from docx.enum.section import WD_SECTION
|
|
11
6
|
from docx.enum.text import WD_BREAK
|
|
12
7
|
from docx.opc.coreprops import CoreProperties
|
|
8
|
+
from docx.oxml.shape import CT_Anchor
|
|
13
9
|
from docx.parts.document import DocumentPart
|
|
14
10
|
from docx.section import Section, Sections
|
|
15
11
|
from docx.settings import Settings
|
|
@@ -21,7 +17,8 @@ from docx.text.paragraph import Paragraph
|
|
|
21
17
|
from docx.text.run import Run
|
|
22
18
|
|
|
23
19
|
from .unitutil.cxml import element, xml
|
|
24
|
-
from .unitutil.mock import class_mock, instance_mock, method_mock,
|
|
20
|
+
from .unitutil.mock import (class_mock, instance_mock, method_mock,
|
|
21
|
+
property_mock)
|
|
25
22
|
|
|
26
23
|
|
|
27
24
|
class DescribeDocument(object):
|
|
@@ -66,6 +63,21 @@ class DescribeDocument(object):
|
|
|
66
63
|
run_.add_picture.assert_called_once_with(path, width, height)
|
|
67
64
|
assert picture is picture_
|
|
68
65
|
|
|
66
|
+
def it_can_add_a_float_picture(self, add_float_picture_fixture):
|
|
67
|
+
(
|
|
68
|
+
document,
|
|
69
|
+
path,
|
|
70
|
+
width,
|
|
71
|
+
height,
|
|
72
|
+
pos_x,
|
|
73
|
+
pos_y,
|
|
74
|
+
run_,
|
|
75
|
+
float_picture_,
|
|
76
|
+
) = add_float_picture_fixture
|
|
77
|
+
anchor = document.add_float_picture(path, width, height, pos_x, pos_y)
|
|
78
|
+
run_.add_float_picture.assert_called_once_with(path, width, height, pos_x, pos_y)
|
|
79
|
+
assert anchor is float_picture_
|
|
80
|
+
|
|
69
81
|
def it_can_add_a_section(
|
|
70
82
|
self, add_section_fixture, Section_, section_, document_part_
|
|
71
83
|
):
|
|
@@ -180,6 +192,14 @@ class DescribeDocument(object):
|
|
|
180
192
|
run_.add_picture.return_value = picture_
|
|
181
193
|
return document, path, width, height, run_, picture_
|
|
182
194
|
|
|
195
|
+
@pytest.fixture
|
|
196
|
+
def add_float_picture_fixture(self, add_paragraph_, run_, float_picture_):
|
|
197
|
+
document = Document(None, None)
|
|
198
|
+
path, width, height, pos_x, pos_y = "foobar.png", 100, 200, 100000, 200000
|
|
199
|
+
add_paragraph_.return_value.add_run.return_value = run_
|
|
200
|
+
run_.add_float_picture.return_value = float_picture_
|
|
201
|
+
return document, path, width, height, pos_x, pos_y, run_, float_picture_
|
|
202
|
+
|
|
183
203
|
@pytest.fixture(
|
|
184
204
|
params=[
|
|
185
205
|
("w:sectPr", WD_SECTION.EVEN_PAGE, "w:sectPr/w:type{w:val=evenPage}"),
|
|
@@ -317,6 +337,10 @@ class DescribeDocument(object):
|
|
|
317
337
|
def picture_(self, request):
|
|
318
338
|
return instance_mock(request, InlineShape)
|
|
319
339
|
|
|
340
|
+
@pytest.fixture
|
|
341
|
+
def float_picture_(self, request):
|
|
342
|
+
return instance_mock(request, CT_Anchor)
|
|
343
|
+
|
|
320
344
|
@pytest.fixture
|
|
321
345
|
def run_(self, request):
|
|
322
346
|
return instance_mock(request, Run)
|