athena-python-docx 0.36.0__tar.gz → 0.37.0__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.
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/PKG-INFO +1 -1
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/__init__.py +1 -1
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/commands.py +7 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/table.py +5 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/run.py +8 -5
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/pyproject.toml +1 -1
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_later_runs.py +32 -0
- athena_python_docx-0.37.0/tests/test_table_add_row_grid_row.py +36 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/uv.lock +1 -1
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/.gitignore +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/AGENTS.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/CLAUDE.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/DOCX_EXEC_LAB.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/README.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_athena_extension.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_batching.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_buffer.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_capabilities.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_citations.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_execution.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_http.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_http_doc.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_image_utils.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_postproc.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_proxy.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_ptc.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_references.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_run_order.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_table_styles.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_timeouts.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_tracked.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/_xml_text.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/api.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/blkcntnr.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/bookmarks.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/charts.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/client.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/comments.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/document.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/drawing/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/base.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/dml.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/section.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/shape.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/style.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/table.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/enum/text.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/errors.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/exceptions.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/fields.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/footnotes.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/image/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/image/exceptions.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/image/image.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/math.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/opc/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/opc/coreprops.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/oxml/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/revisions.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/sdt.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/section.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/session.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/settings.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/shape.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/shared.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/styles/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/styles/_table.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/styles/latent.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/styles/style.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/styles/styles.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/font.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/hyperlink.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/pagebreak.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/paragraph.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/parfmt.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/text/tabstops.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/toc.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/docx/typing.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/docx_exec_lab.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/docx_exec_lab_examples/fast_table_fill.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/docx_exec_lab_examples/find_replace_literal.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/docx_exec_lab_server.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/dump_wire_fixtures.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/release.sh +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/round_trip_smoke.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/smoke_test_block_not_found.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/validate_find_replace_asset.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/conftest.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/METHODOLOGY.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/README.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/agent_documents.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/default_style_run_formatting.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/header_footer_pictures.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/less_used_writes.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/merged_cell_identity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/paragraph_text_setter.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/picture_runs.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/proxy_equality.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/return_types.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/xml_incompatible_text.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/zero_and_negative_indents.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe_cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe_runner.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/auto_gen_cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/binary_round_trip.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/complex_cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/coverage_report.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/extract.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/extreme_cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/fake_session.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/README.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/_runner.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/extractor.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/test_pw_corpus.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/test_pw_research_digest.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/local_runner.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/mega_cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshot.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/01_basic_paragraph.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/02_multiple_headings.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/03_runs_with_formatting.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/04_font_name_and_size.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/05_font_color_rgb.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/06_font_character_properties.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/07_font_subscript_superscript.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/08_font_highlight.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/09_paragraph_alignment.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/100_table_negative_indexing.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/101_table_cells_flat_iteration.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/102_text_with_embedded_special_chars.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/104_core_properties_datetime.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/105_default_one_section.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/106_heading_paragraph_format.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/107_varying_row_heights.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/10_paragraph_indents.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/11_paragraph_spacing.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/12_paragraph_keep_options.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/13_paragraph_tab_stops.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/14_run_add_tab_and_break.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/15_run_add_break_page.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/16_paragraph_clear_and_insert_before.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/17_table_basic.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/18_table_cell_text.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/19_table_row_column_sizing.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/20_table_cell_vertical_alignment.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/21_table_alignment_and_autofit.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/22_table_cell_paragraphs_iteration.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/24_table_add_row_column.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/25_table_merge_cells.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/26_section_page_setup.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/27_section_margins.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/28_section_add_new.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/29_section_headers_linked.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/30_styles_iteration.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/31_styles_lookup_and_default.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/32_styles_add_paragraph_style.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/33_core_properties_set_and_get.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/34_inline_shapes_iterate_empty.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/35_full_report.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/36_replace_text_in_paragraph.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/37_iterate_runs_and_format_all_bold.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/38_font_all_properties.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/39_large_body_100_paragraphs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/40_large_table_10x10.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/41_unicode_and_emoji.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/42_very_long_paragraph.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/43_paragraph_text_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/44_paragraph_alignment_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/45_cell_text_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/46_run_text_setter_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/47_font_size_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/48_font_color_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/49_resume_layout.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/50_multi_section_doc.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/52_iterate_everything.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/53_apply_style_to_paragraphs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/54_empty_everything.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/55_single_character_runs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/56_everything_in_one.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/57_runs_after_multiple_text_appends.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/58_modify_runs_in_place.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/59_indent_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/60_space_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/61_cell_paragraph_with_runs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/62_many_cell_paragraphs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/63_table_style_round_trip.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/64_many_sections.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/65_20x20_table_formatted.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/66_toc_like_structure.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/67_paragraph_insert_before_chain.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/68_invoice.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/69_newsletter.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/70_add_and_iterate_back.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/71_academic_paper.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/72_legal_contract.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/73_form_with_many_tables.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/74_paragraph_with_10_runs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/75_paragraph_negative_first_line_indent.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/76_rgbcolor_from_string.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/77_length_unit_conversions.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/78_paragraph_copy_style.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/79_bulk_cell_formatting.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/80_apply_style_after_add_run.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/81_multi_page_with_breaks.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/82_add_text_on_existing_run.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/83_clear_then_repopulate_paragraph.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/84_table_reread_row_count.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/85_header_footer_access.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/86_font_read_unset_returns_none.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/87_500_paragraph_doc.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/88_mixed_content_iteration.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/89_alignment_clear_via_none.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/90_cell_add_paragraph_styled.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/91_many_small_tables.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/92_margins_every_section.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/93_font_bool_reads_after_set.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/94_page_break_before_paragraph.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/95_paragraph_hyperlinks_empty.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/96_paragraph_contains_page_break.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/97_document_styles_by_key.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/98_style_contains_check.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/99_run_add_picture_from_bytes.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex02_unicode_everywhere.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex03_1000_paragraphs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex04_50x50_table.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex05_long_text_in_cell.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex06_hundred_tiny_runs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex07_every_font_boolean.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex08_many_continuous_sections.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex09_many_tab_stops.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex10_complex_bom.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex11_banded_rows_formatting.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex12_section_reconfigure.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex13_cell_with_10_paragraphs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex14_styled_report_table.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex15_paragraph_all_format_props.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex16_runs_interleaved_with_breaks.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex17_all_break_kinds.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex18_read_back_large_doc.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex19_mutate_all_runs.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/ex20_kitchen_sink_v2.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega01_book_chapter.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega02_research_proposal.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega03_financial_statement.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega04_recipe_card.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega05_user_manual.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega06_complex_newsletter.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega07_budget_spreadsheet.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega08_product_catalog.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega09_signed_contract.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/mega10_api_documentation.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw01_official_quickstart.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw02_paragraph_style_list.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw03_character_formatting.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw04_section_page_setup.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw05_toc_pattern.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw06_meeting_minutes.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw07_dense_formatting_demo.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw08_table_merged_header.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw09_bulk_run_iteration.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw10_colored_grid_table.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw11_header_text.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw12_first_page_footer.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw13_even_page_header.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw15_paragraph_style_instance.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw16_header_footer_tables.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw17_header_letterhead_filled.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw18_header_table_properties.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw19_header_table_rows_columns.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/op_snapshots/rw20_header_table_merges.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ours_spec.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/parity_crawl.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/parity_diff.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/real_world_cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/round_trip_tests.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/stock_spec.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/test_e2e_against_staging.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fixtures/field_reads.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fixtures/note_reference_reads.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fixtures/ruby_reads.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fixtures/symbol_reads.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/baseline.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/fixture_scripts.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/reader.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/runner.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/sdk_driver.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/stock_driver.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/live/test_live_runner.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/README.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/__init__.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/baseline_gaps.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/compare.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/intentional_deviations.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/introspect.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/reports/GAP_ANALYSIS.md +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/reports/gap_report.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/run_parity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/snapshots/athena_latest.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/snapshots/upstream_python_docx_1.2.0.json +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/parity/test_parity_gap.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_add_section.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_add_section_extract_items.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_alignment_values.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_athena_extension_creates_session_open.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_athena_extensions_contract.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_athena_extensions_registry.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_batch_chunking.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_batching_perf.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_battery_cases.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_block_not_found_error.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_buffer.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_add_paragraph_wire_shape.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_add_table_not_supported.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_borders_spec.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_fastpath_runs.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_inner_add_hyperlink_stash.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_inner_add_run_via_cell_insert.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_inner_format_stash.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_inner_run_format_stash.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_inner_run_guard.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_merge.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_nested_tables.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_paragraphs_listed.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_text_plain_fastpath.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_cell_text_replace_semantics.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_citations.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_collapsed_range_format.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_color_format_theme.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_command_dataclasses.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_commands.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_comment_paragraphs.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_comments.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_comments_first_read.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_content_control_value.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_core_properties.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_document_asset_id_property.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_document_clear.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_document_create.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_document_create_from_template.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_document_factory_validation.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_document_settings_session_open.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_docx_exec_lab.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_docx_exec_lab_server.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_drawing_image.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_e2e_partial_failure_cascade.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_empty_hyperlinks.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_enum_parity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_execution_scope.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_export_docx_clean.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_export_rescue_anchors.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_field_reads_python_docx_parity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_field_refresh.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_field_runs.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_find_replace_session_open.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_flushed_write_failures.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_http_transport.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_hyperlink_coalescing.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_image_url_data_uri.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_inline_page_break.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_inline_shape_alt_text.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_inline_shape_size.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_inline_shape_type.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_inline_shapes_floating.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_insert_deferred.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_iter_inner_content.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_latent_style_writes.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_line_clear_break.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_list_styles.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_merged_cell_identity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_merged_cell_secondary_slot.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_merged_cells.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_missing_modules.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_nested_table_refused.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_note_reference_reads_python_docx_parity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_oxml_shim.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_page_break.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_paragraph_delete.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_paragraph_indent_reads.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_paragraph_runs_hyperlinks.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_paragraph_text_empty_run.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_paragraph_text_len_cache.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_parfmt_clears.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_parity_misc.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_parity_round2.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_partial_failure_cascade.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_pdf_export_and_page_renders.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_phase_a_behavior.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_phase_b_headers_footers.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_phase_c_tables.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_positional_cell_id.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_postproc_cell_format_rewrite.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_postproc_cell_run_format_rewrite.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_postproc_ref_restore.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_pr19766_review_fixes.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_proxy_equality.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_ptc.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_python_docx_api_parity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_read_run_ranges.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_rendered_page_breaks.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_repeated_node_read.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_restart_numbering.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_revisions.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_round_trip_smoke_script.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_ruby_reads_python_docx_parity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_add_picture_anchor.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_break_inner_content.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_edges.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_formatting_wire.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_identity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_mark_inheritance.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_page_number_blocks.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_table_style_objects.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_text_python_docx.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_text_refreshes_paragraph.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_run_unmodeled_toggles.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_sdk_reads_served.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_section_read_lengths.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_add_paragraph_style.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_add_picture.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_add_run.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_cell_add_paragraph.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_comments_add_comment.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_comments_get.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_document_audit.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_document_element.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_enum_section.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_font_audit.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_header_footer.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_hyperlink.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_inline_shape.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_insert_paragraph_before.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_misc.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_paragraph_strict.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_paragraph_style.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_paragraph_style_strict.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_parfmt.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_row_col_cell.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_run_add_break.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_run_bool_setters.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_run_style.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_run_style_strict.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_run_text.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_run_underline.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_section_audit.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_section_dimensions.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_section_onoff.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_settings.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_shared_audit.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_style.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_styles.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_table_audit.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_table_cell.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_table_dimensions.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_silent_stub_table_layout.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_smoke_integration.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_acceptance.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_delete.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_font.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_formatting_writes.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_metadata_writes.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_names.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_setters_contract.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_tab_stops.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_style_tab_stops_read.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_symbol_reads_python_docx_parity.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_tab_stop_writes.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_table_anchors.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_table_clears.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_table_direction.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_table_read_reuse.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_table_set_cell_perf.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_table_style_id_resolution.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_temporarily_unavailable.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_text_control_characters.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_tracked_revisions_offsets.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_unmapped_alignment_reads.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_uv_lock_version.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_validate_find_replace_asset_script.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_wire_contract.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_xml_attr_guard.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_xml_incompatible_text.py +0 -0
- {athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/test_zod_wire_contract.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: athena-python-docx
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.37.0
|
|
4
4
|
Summary: Drop-in replacement for python-docx that connects to Athena's DOCX Studio collaborative document stack
|
|
5
5
|
Project-URL: Homepage, https://athenaintelligence.ai
|
|
6
6
|
Author-email: Athena Intelligence <engineering@athenaintelligence.ai>
|
|
@@ -565,10 +565,17 @@ class SetSectionLinkToPrevious(Command):
|
|
|
565
565
|
|
|
566
566
|
@dataclass
|
|
567
567
|
class TablesInsertRow(Command):
|
|
568
|
+
"""``grid_row`` is python-docx's ``Table.add_row()``: the row goes after
|
|
569
|
+
the table's last one, with a cell for each grid column as wide as the
|
|
570
|
+
column, holding one empty paragraph, and nothing of the rows above.
|
|
571
|
+
Without it, the row is Word's Insert Row next to ``row_index``. A
|
|
572
|
+
docx-studio that predates the field ignores it."""
|
|
573
|
+
|
|
568
574
|
node_id: str
|
|
569
575
|
row_index: int
|
|
570
576
|
position: str # "above" | "below"
|
|
571
577
|
count: int = 1
|
|
578
|
+
grid_row: bool | None = None
|
|
572
579
|
|
|
573
580
|
|
|
574
581
|
@dataclass
|
|
@@ -1053,6 +1053,11 @@ class Table:
|
|
|
1053
1053
|
}
|
|
1054
1054
|
if source_index is not None:
|
|
1055
1055
|
params["copyFormatFrom"] = source_index
|
|
1056
|
+
else:
|
|
1057
|
+
# python-docx's row: a cell for each grid column, as wide as the
|
|
1058
|
+
# column, and nothing of the last row (its height, grid skips,
|
|
1059
|
+
# header flag or cell formatting).
|
|
1060
|
+
params["gridRow"] = True
|
|
1056
1061
|
run_sync(self._session.doc.tables.insert_row(params))
|
|
1057
1062
|
# Keep the bounds-check cache current so the next ``cell()``
|
|
1058
1063
|
# access still hits the fast path.
|
|
@@ -1063,11 +1063,14 @@ class Run:
|
|
|
1063
1063
|
# server keeps its own properties (``w:bCs``, an off toggle) for the
|
|
1064
1064
|
# new text, as python-docx keeps the run's ``w:rPr``. A docx-studio
|
|
1065
1065
|
# from before the field ignores it.
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1066
|
+
command: dict = {"target": self._text_range, "text": value, "wholeRun": True}
|
|
1067
|
+
later = later_runs_at_end(self)
|
|
1068
|
+
if later and server_takes(self._session, "runIdentity"):
|
|
1069
|
+
# A run after this one ends where it does (an empty run, a text
|
|
1070
|
+
# box's or a SmartArt drawing's): docx-studio tells this run's
|
|
1071
|
+
# record from its by the run's identity, and keeps both.
|
|
1072
|
+
command["run"] = {"laterRuns": later}
|
|
1073
|
+
run_sync(self._session.doc.replace(command))
|
|
1071
1074
|
if not tracked:
|
|
1072
1075
|
new_end: int = self._range[0] + len(value)
|
|
1073
1076
|
self._range = (self._range[0], new_end)
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "athena-python-docx"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.37.0"
|
|
8
8
|
description = "Drop-in replacement for python-docx that connects to Athena's DOCX Studio collaborative document stack"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -578,3 +578,35 @@ def test_a_column_break_a_room_keeps_as_a_block_leaves_the_run_apart(mock_sessio
|
|
|
578
578
|
|
|
579
579
|
assert _sent(fake_sd_methods, "format.apply") == []
|
|
580
580
|
assert r._pending_inline == {"bold": True}
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
@pytest.mark.parametrize(("capabilities", "named"), [(CAPABILITIES, {"laterRuns": 1}), (OLDER, None)])
|
|
584
|
+
def test_a_runs_text_written_before_a_later_empty_run_names_the_run(
|
|
585
|
+
mock_session: Any, fake_sd_methods: Any, capabilities: dict[str, Any], named: dict[str, Any] | None
|
|
586
|
+
) -> None:
|
|
587
|
+
# a = p.add_run('Left'); p.add_run(); a.text = 'Changed': the empty run ends where 'Left' does, as a
|
|
588
|
+
# text box's anchor run does, and docx-studio keeps its record only for an SDK that names 'Left'.
|
|
589
|
+
fake_sd_methods.scripted_returns["info"] = {"capabilities": capabilities}
|
|
590
|
+
p = _paragraph(mock_session)
|
|
591
|
+
a = p.add_run("Left")
|
|
592
|
+
p.add_run()
|
|
593
|
+
fake_sd_methods.calls.clear()
|
|
594
|
+
a.text = "Changed"
|
|
595
|
+
|
|
596
|
+
[sent] = _sent(fake_sd_methods, "replace")
|
|
597
|
+
assert sent.get("run") == named
|
|
598
|
+
assert sent["wholeRun"] is True
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
def test_a_runs_text_written_with_no_later_run_at_its_end_sends_no_identity(
|
|
602
|
+
mock_session: Any, fake_sd_methods: Any
|
|
603
|
+
) -> None:
|
|
604
|
+
fake_sd_methods.scripted_returns["info"] = {"capabilities": CAPABILITIES}
|
|
605
|
+
p = _paragraph(mock_session)
|
|
606
|
+
a = p.add_run("Left")
|
|
607
|
+
p.add_run("Right")
|
|
608
|
+
fake_sd_methods.calls.clear()
|
|
609
|
+
a.text = "Changed"
|
|
610
|
+
|
|
611
|
+
[sent] = _sent(fake_sd_methods, "replace")
|
|
612
|
+
assert "run" not in sent
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""``Table.add_row()`` asks docx-studio for python-docx's row (``gridRow``):
|
|
2
|
+
a ``w:tr`` after the table's last row with a ``w:tc`` for each grid column, as
|
|
3
|
+
wide as the column, and nothing of the last row: python-docx 1.2.0's
|
|
4
|
+
``add_row`` builds it from ``tblGrid`` alone. Without it, the row was Word's
|
|
5
|
+
Insert Row below the last one, which keeps that row's grid skips
|
|
6
|
+
(``w:gridAfter``), height and cell formatting.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Any
|
|
12
|
+
|
|
13
|
+
from docx.commands import TablesInsertRow
|
|
14
|
+
from docx.table import Table
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def test_add_row_sends_python_docx_row_after_the_last_row(
|
|
18
|
+
mock_session: Any, fake_sd_methods: Any
|
|
19
|
+
) -> None:
|
|
20
|
+
table = Table(session=mock_session, node_id="t:0")
|
|
21
|
+
|
|
22
|
+
row = table.add_row()
|
|
23
|
+
|
|
24
|
+
inserts = [params for op, params in fake_sd_methods.calls if op == "tables.insert_row"]
|
|
25
|
+
assert inserts == [
|
|
26
|
+
{"nodeId": "t:0", "rowIndex": 1, "position": "below", "count": 1, "gridRow": True}
|
|
27
|
+
]
|
|
28
|
+
assert row._index == 2
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_grid_row_goes_on_the_wire_only_when_set() -> None:
|
|
32
|
+
plain = TablesInsertRow(node_id="t:0", row_index=1, position="below")
|
|
33
|
+
grid = TablesInsertRow(node_id="t:0", row_index=1, position="below", grid_row=True)
|
|
34
|
+
|
|
35
|
+
assert "gridRow" not in plain.to_dict()
|
|
36
|
+
assert grid.to_dict()["gridRow"] is True
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/smoke_test_block_not_found.py
RENAMED
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/scripts/validate_find_replace_asset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/agent_documents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/less_used_writes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/picture_runs.py
RENAMED
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/proxy_equality.py
RENAMED
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/ab_probe/return_types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/README.md
RENAMED
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/__init__.py
RENAMED
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/_runner.py
RENAMED
|
File without changes
|
{athena_python_docx-0.36.0 → athena_python_docx-0.37.0}/tests/fidelity/firm_templates/extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|