ps-python-pptx 1.1.0__tar.gz → 1.2.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.
Files changed (518) hide show
  1. {ps_python_pptx-1.1.0/src/ps_python_pptx.egg-info → ps_python_pptx-1.2.0}/PKG-INFO +1 -1
  2. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/__init__.py +1 -1
  3. ps_python_pptx-1.2.0/src/pptx/background.py +198 -0
  4. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/slide.py +7 -0
  5. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0/src/ps_python_pptx.egg-info}/PKG-INFO +1 -1
  6. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/ps_python_pptx.egg-info/SOURCES.txt +2 -0
  7. ps_python_pptx-1.2.0/tests/test_background_info.py +91 -0
  8. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/FORK.md +0 -0
  9. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/HISTORY.rst +0 -0
  10. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/LICENSE +0 -0
  11. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/MANIFEST.in +0 -0
  12. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/README.rst +0 -0
  13. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/act-action.feature +0 -0
  14. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/act-hyperlink.feature +0 -0
  15. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-axis-props.feature +0 -0
  16. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-axistitle-props.feature +0 -0
  17. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-category-access.feature +0 -0
  18. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-category-props.feature +0 -0
  19. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-chart.feature +0 -0
  20. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-charttitle-props.feature +0 -0
  21. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-data-props.feature +0 -0
  22. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-datalabels.feature +0 -0
  23. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-gridlines-props.feature +0 -0
  24. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-legend-access.feature +0 -0
  25. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-legend-props.feature +0 -0
  26. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-marker-props.feature +0 -0
  27. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-plot-props.feature +0 -0
  28. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-point-access.feature +0 -0
  29. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-point-props.feature +0 -0
  30. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-replace-data.feature +0 -0
  31. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-series.feature +0 -0
  32. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/cht-ticklabels-props.feature +0 -0
  33. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/dml-color.feature +0 -0
  34. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/dml-effect.feature +0 -0
  35. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/dml-fill.feature +0 -0
  36. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/dml-line.feature +0 -0
  37. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/environment.py +0 -0
  38. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/ph-inherit-props.feature +0 -0
  39. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/ph-insert-shape.feature +0 -0
  40. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/ph-phfmt-props.feature +0 -0
  41. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/ph-placeholder-props.feature +0 -0
  42. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/prs-coreprops.feature +0 -0
  43. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/prs-default-template.feature +0 -0
  44. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/prs-open-save.feature +0 -0
  45. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/prs-presentation-props.feature +0 -0
  46. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-alt-text.feature +0 -0
  47. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-autoshape.feature +0 -0
  48. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-connector.feature +0 -0
  49. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-freeform.feature +0 -0
  50. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-graphicframe.feature +0 -0
  51. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-groupshape.feature +0 -0
  52. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-movie-props.feature +0 -0
  53. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-picture.feature +0 -0
  54. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-placeholder.feature +0 -0
  55. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-shapes.feature +0 -0
  56. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/shp-shared.feature +0 -0
  57. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/sld-background.feature +0 -0
  58. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/sld-slide.feature +0 -0
  59. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/sld-slides.feature +0 -0
  60. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/action.py +0 -0
  61. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/axis.py +0 -0
  62. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/background.py +0 -0
  63. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/category.py +0 -0
  64. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/chart.py +0 -0
  65. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/chartdata.py +0 -0
  66. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/color.py +0 -0
  67. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/coreprops.py +0 -0
  68. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/datalabel.py +0 -0
  69. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/effect.py +0 -0
  70. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/fill.py +0 -0
  71. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/font.py +0 -0
  72. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/font_color.py +0 -0
  73. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/helpers.py +0 -0
  74. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/legend.py +0 -0
  75. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/line.py +0 -0
  76. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/picture.py +0 -0
  77. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/placeholder.py +0 -0
  78. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/plot.py +0 -0
  79. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/presentation.py +0 -0
  80. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/series.py +0 -0
  81. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/shape.py +0 -0
  82. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/shapes.py +0 -0
  83. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/slide.py +0 -0
  84. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/slides.py +0 -0
  85. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/table.py +0 -0
  86. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/72-dpi.tiff +0 -0
  87. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/CVS_LOGO.WMF +0 -0
  88. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/act-props.pptm +0 -0
  89. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/calibriz.ttf +0 -0
  90. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-axis-props.pptx +0 -0
  91. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-category-access.pptx +0 -0
  92. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-chart-props.pptx +0 -0
  93. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-chart-type.pptx +0 -0
  94. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-charts.pptx +0 -0
  95. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-datalabels.pptx +0 -0
  96. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-gridlines-props.pptx +0 -0
  97. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-legend-props.pptx +0 -0
  98. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-legend.pptx +0 -0
  99. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-marker-props.pptx +0 -0
  100. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-plot-props.pptx +0 -0
  101. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-point-access.pptx +0 -0
  102. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-point-props.pptx +0 -0
  103. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-replace-data.pptx +0 -0
  104. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-series.pptx +0 -0
  105. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/cht-ticklabels-props.pptx +0 -0
  106. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/dml-effect.pptx +0 -0
  107. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/dml-fill.pptx +0 -0
  108. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/dml-line.pptx +0 -0
  109. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/ext-rels.pptx +0 -0
  110. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/[Content_Types].xml +0 -0
  111. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/_rels/.rels +0 -0
  112. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/docProps/app.xml +0 -0
  113. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/docProps/core.xml +0 -0
  114. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/docProps/thumbnail.jpeg +0 -0
  115. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/_rels/presentation.xml.rels +0 -0
  116. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/presProps.xml +0 -0
  117. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/presentation.xml +0 -0
  118. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/printerSettings/printerSettings1.bin +0 -0
  119. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels +0 -0
  120. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels +0 -0
  121. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels +0 -0
  122. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels +0 -0
  123. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels +0 -0
  124. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels +0 -0
  125. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels +0 -0
  126. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels +0 -0
  127. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels +0 -0
  128. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels +0 -0
  129. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels +0 -0
  130. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout1.xml +0 -0
  131. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout10.xml +0 -0
  132. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout11.xml +0 -0
  133. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout2.xml +0 -0
  134. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout3.xml +0 -0
  135. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout4.xml +0 -0
  136. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout5.xml +0 -0
  137. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout6.xml +0 -0
  138. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout7.xml +0 -0
  139. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout8.xml +0 -0
  140. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout9.xml +0 -0
  141. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels +0 -0
  142. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slideMasters/slideMaster1.xml +0 -0
  143. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slides/_rels/slide1.xml.rels +0 -0
  144. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/slides/slide1.xml +0 -0
  145. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/tableStyles.xml +0 -0
  146. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/theme/theme1.xml +0 -0
  147. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/extracted-pptx/ppt/viewProps.xml +0 -0
  148. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/font-color.pptx +0 -0
  149. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/just-two-mice.mp4 +0 -0
  150. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/just-two-mice.png +0 -0
  151. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/lyt-shapes.pptx +0 -0
  152. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/minimal.pptx +0 -0
  153. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/monty-truth.png +0 -0
  154. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/mst-placeholders.pptx +0 -0
  155. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/mst-shapes.pptx +0 -0
  156. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/mst-slide-layouts.pptx +0 -0
  157. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/ph-inherit-props.pptx +0 -0
  158. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/ph-populated-placeholders.pptx +0 -0
  159. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/ph-unpopulated-placeholders.pptx +0 -0
  160. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/pic.emf +0 -0
  161. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/prs-add-slide.pptx +0 -0
  162. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/prs-notes.pptx +0 -0
  163. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/prs-properties.pptx +0 -0
  164. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/prs-slide-masters.pptx +0 -0
  165. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/python-icon.jpeg +0 -0
  166. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/python-powered.png +0 -0
  167. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/python.bmp +0 -0
  168. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-access-chart.pptx +0 -0
  169. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-access-ole-object.pptx +0 -0
  170. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-autoshape-adjustments.pptx +0 -0
  171. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-autoshape-props.pptx +0 -0
  172. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-common-props.pptx +0 -0
  173. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-connector-props.pptx +0 -0
  174. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-embedded-docx.docx +0 -0
  175. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-embedded-pptx.pptx +0 -0
  176. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-embedded-xlsx.xlsx +0 -0
  177. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-freeform.pptx +0 -0
  178. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-groupshape.pptx +0 -0
  179. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-movie-props.pptx +0 -0
  180. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-picture.pptx +0 -0
  181. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-pos-and-size.pptx +0 -0
  182. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/shp-shapes.pptx +0 -0
  183. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/sld-background.pptx +0 -0
  184. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/sld-blank.pptx +0 -0
  185. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/sld-notes.pptx +0 -0
  186. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/sld-slide.pptx +0 -0
  187. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/sld-slides.pptx +0 -0
  188. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/sonic.gif +0 -0
  189. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/tbl-cell.pptx +0 -0
  190. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/test-image-jpg-mime.pptx +0 -0
  191. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/test.pptx +0 -0
  192. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/txt-fit-text.pptx +0 -0
  193. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/txt-font-props.pptx +0 -0
  194. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/txt-font-typeface.pptx +0 -0
  195. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/txt-paragraph-spacing.pptx +0 -0
  196. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/txt-text-frame.pptx +0 -0
  197. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/test_files/txt-text.pptx +0 -0
  198. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/text.py +0 -0
  199. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/steps/text_frame.py +0 -0
  200. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/tbl-cell.feature +0 -0
  201. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/tbl-column.feature +0 -0
  202. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/tbl-table.feature +0 -0
  203. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/txt-fit-text.feature +0 -0
  204. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/txt-font-color.feature +0 -0
  205. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/txt-font-props.feature +0 -0
  206. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/txt-paragraph.feature +0 -0
  207. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/txt-text.feature +0 -0
  208. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/features/txt-textframe.feature +0 -0
  209. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/pyproject.toml +0 -0
  210. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/setup.cfg +0 -0
  211. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/action.py +0 -0
  212. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/api.py +0 -0
  213. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/__init__.py +0 -0
  214. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/axis.py +0 -0
  215. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/category.py +0 -0
  216. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/chart.py +0 -0
  217. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/data.py +0 -0
  218. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/datalabel.py +0 -0
  219. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/legend.py +0 -0
  220. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/marker.py +0 -0
  221. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/plot.py +0 -0
  222. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/point.py +0 -0
  223. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/series.py +0 -0
  224. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/xlsx.py +0 -0
  225. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/chart/xmlwriter.py +0 -0
  226. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/dml/__init__.py +0 -0
  227. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/dml/chtfmt.py +0 -0
  228. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/dml/color.py +0 -0
  229. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/dml/effect.py +0 -0
  230. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/dml/fill.py +0 -0
  231. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/dml/line.py +0 -0
  232. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/__init__.py +0 -0
  233. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/action.py +0 -0
  234. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/base.py +0 -0
  235. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/chart.py +0 -0
  236. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/dml.py +0 -0
  237. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/lang.py +0 -0
  238. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/shapes.py +0 -0
  239. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/enum/text.py +0 -0
  240. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/exc.py +0 -0
  241. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/media.py +0 -0
  242. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/__init__.py +0 -0
  243. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/constants.py +0 -0
  244. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/oxml.py +0 -0
  245. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/package.py +0 -0
  246. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/packuri.py +0 -0
  247. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/serialized.py +0 -0
  248. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/shared.py +0 -0
  249. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/opc/spec.py +0 -0
  250. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/__init__.py +0 -0
  251. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/action.py +0 -0
  252. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/__init__.py +0 -0
  253. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/axis.py +0 -0
  254. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/chart.py +0 -0
  255. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/datalabel.py +0 -0
  256. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/legend.py +0 -0
  257. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/marker.py +0 -0
  258. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/plot.py +0 -0
  259. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/series.py +0 -0
  260. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/chart/shared.py +0 -0
  261. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/coreprops.py +0 -0
  262. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/dml/__init__.py +0 -0
  263. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/dml/color.py +0 -0
  264. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/dml/fill.py +0 -0
  265. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/dml/line.py +0 -0
  266. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/ns.py +0 -0
  267. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/presentation.py +0 -0
  268. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/shapes/__init__.py +0 -0
  269. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/shapes/autoshape.py +0 -0
  270. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/shapes/connector.py +0 -0
  271. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/shapes/graphfrm.py +0 -0
  272. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/shapes/groupshape.py +0 -0
  273. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/shapes/picture.py +0 -0
  274. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/shapes/shared.py +0 -0
  275. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/simpletypes.py +0 -0
  276. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/slide.py +0 -0
  277. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/table.py +0 -0
  278. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/text.py +0 -0
  279. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/theme.py +0 -0
  280. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/oxml/xmlchemy.py +0 -0
  281. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/package.py +0 -0
  282. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/__init__.py +0 -0
  283. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/chart.py +0 -0
  284. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/coreprops.py +0 -0
  285. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/embeddedpackage.py +0 -0
  286. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/image.py +0 -0
  287. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/media.py +0 -0
  288. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/presentation.py +0 -0
  289. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/slide.py +0 -0
  290. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/parts/theme.py +0 -0
  291. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/presentation.py +0 -0
  292. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/py.typed +0 -0
  293. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/__init__.py +0 -0
  294. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/autoshape.py +0 -0
  295. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/base.py +0 -0
  296. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/connector.py +0 -0
  297. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/freeform.py +0 -0
  298. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/graphfrm.py +0 -0
  299. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/group.py +0 -0
  300. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/picture.py +0 -0
  301. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/placeholder.py +0 -0
  302. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shapes/shapetree.py +0 -0
  303. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/shared.py +0 -0
  304. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/spec.py +0 -0
  305. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/table.py +0 -0
  306. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/default.pptx +0 -0
  307. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/docx-icon.emf +0 -0
  308. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/generic-icon.emf +0 -0
  309. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/notes.xml +0 -0
  310. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/notesMaster.xml +0 -0
  311. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/pptx-icon.emf +0 -0
  312. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/theme.xml +0 -0
  313. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/templates/xlsx-icon.emf +0 -0
  314. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/text/__init__.py +0 -0
  315. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/text/fonts.py +0 -0
  316. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/text/layout.py +0 -0
  317. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/text/text.py +0 -0
  318. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/theme.py +0 -0
  319. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/types.py +0 -0
  320. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/pptx/util.py +0 -0
  321. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/ps_python_pptx.egg-info/dependency_links.txt +0 -0
  322. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/ps_python_pptx.egg-info/requires.txt +0 -0
  323. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/src/ps_python_pptx.egg-info/top_level.txt +0 -0
  324. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/__init__.py +0 -0
  325. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/__init__.py +0 -0
  326. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_axis.py +0 -0
  327. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_category.py +0 -0
  328. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_chart.py +0 -0
  329. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_data.py +0 -0
  330. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_datalabel.py +0 -0
  331. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_legend.py +0 -0
  332. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_marker.py +0 -0
  333. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_plot.py +0 -0
  334. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_point.py +0 -0
  335. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_series.py +0 -0
  336. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_xlsx.py +0 -0
  337. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/chart/test_xmlwriter.py +0 -0
  338. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/dml/__init__.py +0 -0
  339. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/dml/test_chtfmt.py +0 -0
  340. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/dml/test_color.py +0 -0
  341. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/dml/test_effect.py +0 -0
  342. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/dml/test_fill.py +0 -0
  343. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/dml/test_line.py +0 -0
  344. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/enum/__init__.py +0 -0
  345. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/enum/test_base.py +0 -0
  346. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/enum/test_shapes.py +0 -0
  347. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/fork_wheel_smoke.py +0 -0
  348. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/opc/__init__.py +0 -0
  349. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/opc/test_oxml.py +0 -0
  350. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/opc/test_package.py +0 -0
  351. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/opc/test_packuri.py +0 -0
  352. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/opc/test_serialized.py +0 -0
  353. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/__init__.py +0 -0
  354. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/shapes/__init__.py +0 -0
  355. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/shapes/test_autoshape.py +0 -0
  356. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/shapes/test_graphfrm.py +0 -0
  357. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/shapes/test_groupshape.py +0 -0
  358. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/shapes/test_picture.py +0 -0
  359. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test___init__.py +0 -0
  360. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_dml.py +0 -0
  361. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_ns.py +0 -0
  362. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_presentation.py +0 -0
  363. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_simpletypes.py +0 -0
  364. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_slide.py +0 -0
  365. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_table.py +0 -0
  366. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_theme.py +0 -0
  367. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/test_xmlchemy.py +0 -0
  368. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/unitdata/__init__.py +0 -0
  369. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/unitdata/dml.py +0 -0
  370. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/unitdata/shape.py +0 -0
  371. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/oxml/unitdata/text.py +0 -0
  372. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/__init__.py +0 -0
  373. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/test_chart.py +0 -0
  374. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/test_coreprops.py +0 -0
  375. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/test_embeddedpackage.py +0 -0
  376. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/test_image.py +0 -0
  377. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/test_media.py +0 -0
  378. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/test_presentation.py +0 -0
  379. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/parts/test_slide.py +0 -0
  380. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/__init__.py +0 -0
  381. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_autoshape.py +0 -0
  382. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_base.py +0 -0
  383. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_connector.py +0 -0
  384. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_freeform.py +0 -0
  385. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_graphfrm.py +0 -0
  386. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_group.py +0 -0
  387. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_picture.py +0 -0
  388. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_placeholder.py +0 -0
  389. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/shapes/test_shapetree.py +0 -0
  390. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_action.py +0 -0
  391. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_alternative_text_roundtrip.py +0 -0
  392. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_api.py +0 -0
  393. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_background_authoring_roundtrip.py +0 -0
  394. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_character_formatting_roundtrip.py +0 -0
  395. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/calibriz.ttf +0 -0
  396. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/cdw-logo.eps +0 -0
  397. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/dummy.mp4 +0 -0
  398. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/[Content_Types].xml +0 -0
  399. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/_rels/.rels +0 -0
  400. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/docProps/app.xml +0 -0
  401. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/docProps/core.xml +0 -0
  402. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/docProps/thumbnail.jpeg +0 -0
  403. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/_rels/presentation.xml.rels +0 -0
  404. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/presProps.xml +0 -0
  405. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/presentation.xml +0 -0
  406. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/printerSettings/printerSettings1.bin +0 -0
  407. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels +0 -0
  408. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels +0 -0
  409. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels +0 -0
  410. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels +0 -0
  411. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels +0 -0
  412. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels +0 -0
  413. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels +0 -0
  414. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels +0 -0
  415. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels +0 -0
  416. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels +0 -0
  417. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels +0 -0
  418. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout1.xml +0 -0
  419. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout10.xml +0 -0
  420. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout11.xml +0 -0
  421. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout2.xml +0 -0
  422. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout3.xml +0 -0
  423. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout4.xml +0 -0
  424. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout5.xml +0 -0
  425. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout6.xml +0 -0
  426. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout7.xml +0 -0
  427. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout8.xml +0 -0
  428. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout9.xml +0 -0
  429. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels +0 -0
  430. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slideMasters/slideMaster1.xml +0 -0
  431. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slides/_rels/slide1.xml.rels +0 -0
  432. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/slides/slide1.xml +0 -0
  433. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/tableStyles.xml +0 -0
  434. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/theme/theme1.xml +0 -0
  435. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/expanded_pptx/ppt/viewProps.xml +0 -0
  436. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/minimal.pptx +0 -0
  437. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/minimal_slide.xml +0 -0
  438. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/missing_rels_item.pptx +0 -0
  439. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/monty-truth.png +0 -0
  440. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/no-core-props.pptx +0 -0
  441. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/no-slides.pptx +0 -0
  442. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/presentation.xml +0 -0
  443. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/python-icon.jpeg +0 -0
  444. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/python-powered.png +0 -0
  445. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/python.bmp +0 -0
  446. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/slideLayout1.xml +0 -0
  447. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-area-date.txt +0 -0
  448. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-area-float.txt +0 -0
  449. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-area-stacked-100.txt +0 -0
  450. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-area-stacked.txt +0 -0
  451. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-area.txt +0 -0
  452. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-bar-clustered-date.txt +0 -0
  453. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-bar-clustered-float.txt +0 -0
  454. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-bar-clustered.txt +0 -0
  455. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-bar-stacked-100.txt +0 -0
  456. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-bar-stacked.txt +0 -0
  457. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-column-clustered.txt +0 -0
  458. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-column-stacked-100.txt +0 -0
  459. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-column-stacked.txt +0 -0
  460. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line-date.txt +0 -0
  461. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line-float.txt +0 -0
  462. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line-markers-stacked-100.txt +0 -0
  463. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line-markers-stacked.txt +0 -0
  464. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line-markers.txt +0 -0
  465. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line-stacked-100.txt +0 -0
  466. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line-stacked.txt +0 -0
  467. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x2-line.txt +0 -0
  468. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x3-bubble-3d.txt +0 -0
  469. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x3-bubble.txt +0 -0
  470. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x3-xy-lines-no-markers.txt +0 -0
  471. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x3-xy-lines.txt +0 -0
  472. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x3-xy-smooth-no-markers.txt +0 -0
  473. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x3-xy-smooth.txt +0 -0
  474. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x3-xy.txt +0 -0
  475. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/2x5-radar.txt +0 -0
  476. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/3x1-pie-exploded.txt +0 -0
  477. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/3x1-pie.txt +0 -0
  478. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/3x2-doughnut-exploded.txt +0 -0
  479. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/3x2-doughnut.txt +0 -0
  480. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/4x2-multi-cat-bar.txt +0 -0
  481. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/adjust-ser-count.txt +0 -0
  482. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/cat-labels.txt +0 -0
  483. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/content-types-xml.txt +0 -0
  484. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/default-notes.txt +0 -0
  485. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/default-notesMaster.txt +0 -0
  486. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/default-theme.txt +0 -0
  487. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/freeform.txt +0 -0
  488. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/package-rels-xml.txt +0 -0
  489. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/placeholders.txt +0 -0
  490. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/presentation-rels-xml.txt +0 -0
  491. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/relationships.txt +0 -0
  492. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/rels-load-from-xml.txt +0 -0
  493. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/rewrite-ser.txt +0 -0
  494. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/snippets/timing.txt +0 -0
  495. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/test.pptx +0 -0
  496. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_files/test_slides.pptx +0 -0
  497. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_media.py +0 -0
  498. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_package.py +0 -0
  499. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_paragraph_formatting_roundtrip.py +0 -0
  500. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_presentation.py +0 -0
  501. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_shared.py +0 -0
  502. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_slide.py +0 -0
  503. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_slide_management_roundtrip.py +0 -0
  504. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_stacking_order_roundtrip.py +0 -0
  505. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_table.py +0 -0
  506. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_table_style_roundtrip.py +0 -0
  507. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_theme_authoring_roundtrip.py +0 -0
  508. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/test_util.py +0 -0
  509. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/text/__init__.py +0 -0
  510. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/text/test_fonts.py +0 -0
  511. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/text/test_layout.py +0 -0
  512. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/text/test_text.py +0 -0
  513. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/unitdata.py +0 -0
  514. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/unitutil/__init__.py +0 -0
  515. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/unitutil/cxml.py +0 -0
  516. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/unitutil/file.py +0 -0
  517. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tests/unitutil/mock.py +0 -0
  518. {ps_python_pptx-1.1.0 → ps_python_pptx-1.2.0}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ps-python-pptx
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: Python-pptx fork with public APIs for themes, backgrounds, lists, and rich text.
5
5
  Author-email: Steve Canny <stcanny@gmail.com>
6
6
  License: MIT
@@ -26,7 +26,7 @@ from pptx.parts.slide import (
26
26
  if TYPE_CHECKING:
27
27
  from pptx.opc.package import Part
28
28
 
29
- __version__ = "1.1.0"
29
+ __version__ = "1.2.0"
30
30
 
31
31
  sys.modules["pptx.exceptions"] = exceptions
32
32
  del sys
@@ -0,0 +1,198 @@
1
+ """Read-only snapshots of slide background fills.
2
+
3
+ This models the background fill, not graphics drawn on a slide or master.
4
+ Unsupported fills are reported explicitly rather than changing the document.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import colorsys
10
+ from dataclasses import dataclass
11
+
12
+ from pptx.dml.color import RGBColor
13
+ from pptx.enum.dml import MSO_THEME_COLOR
14
+ from pptx.opc.constants import RELATIONSHIP_TYPE as RT
15
+ from pptx.oxml.ns import qn
16
+
17
+
18
+ @dataclass(frozen=True)
19
+ class BackgroundInfo:
20
+ """Resolved background data, independent of the source XML.
21
+
22
+ kind is solid, gradient, picture, none, or unknown. Gradient angles are
23
+ counter-clockwise degrees. Picture crop values are fractional insets in
24
+ left, top, right, bottom order. Only stretched picture fills are supported.
25
+ reason explains unsupported data. No getter creates or changes XML.
26
+ """
27
+
28
+ kind: str
29
+ color: RGBColor | None = None
30
+ stops: tuple = ()
31
+ angle: float = 0.0
32
+ radial: bool = False
33
+ center: tuple = (0.5, 0.5)
34
+ image: bytes | None = None
35
+ crop: tuple = (0.0, 0.0, 0.0, 0.0)
36
+ reason: str | None = None
37
+
38
+
39
+ def background_info(owner):
40
+ """Resolve inheritance and theme background styles without modifying XML."""
41
+ chain = [owner]
42
+ if hasattr(owner, "slide_layout"):
43
+ chain.append(owner.slide_layout)
44
+ if hasattr(chain[-1], "slide_master"):
45
+ chain.append(chain[-1].slide_master)
46
+ master = chain[-1]
47
+ try:
48
+ if any(rel.reltype == RT.THEME_OVERRIDE for item in chain for rel in item.part.rels.values()):
49
+ raise ValueError("theme overrides are not supported")
50
+ theme = master.theme
51
+ color_map = {}
52
+ for item in reversed(chain):
53
+ mapping = item._element.find(qn("p:clrMap"))
54
+ override = item._element.find(qn("p:clrMapOvr"))
55
+ if override is not None:
56
+ mapping = override.find(qn("a:overrideClrMapping"))
57
+ if mapping is not None:
58
+ color_map.update(mapping.attrib)
59
+ for item in chain:
60
+ bg = item._element.cSld.find(qn("p:bg"))
61
+ if bg is None:
62
+ continue
63
+ explicit = bg.find(qn("p:bgPr"))
64
+ if explicit is not None:
65
+ return _fill_info(explicit, item.part, theme, color_map)
66
+ reference = bg.find(qn("p:bgRef"))
67
+ if reference is None:
68
+ raise ValueError("background has no fill or style reference")
69
+ index = int(reference.get("idx", "0"))
70
+ if index == 0:
71
+ return BackgroundInfo("none")
72
+ path = "a:themeElements/a:fmtScheme/" + (
73
+ "a:bgFillStyleLst" if index >= 1001 else "a:fillStyleLst"
74
+ )
75
+ styles = theme._element
76
+ for name in path.split("/"):
77
+ styles = styles.find(qn(name))
78
+ if styles is None:
79
+ raise ValueError("theme background style list is missing")
80
+ offset = index - 1001 if index >= 1001 else index - 1
81
+ if offset < 0 or offset >= len(styles):
82
+ raise ValueError("theme background style index is out of range")
83
+ placeholder = _color(reference, theme, color_map)
84
+ return _fill_info(
85
+ styles[offset], master.part.part_related_by(RT.THEME), theme, color_map, placeholder
86
+ )
87
+ return BackgroundInfo("solid", color=RGBColor(255, 255, 255))
88
+ except (ValueError, KeyError, AttributeError, TypeError) as exc:
89
+ return BackgroundInfo("unknown", reason=str(exc))
90
+
91
+
92
+ def _color(parent, theme, mapping, placeholder=None):
93
+ choices = {"srgbClr", "schemeClr", "sysClr"}
94
+ node = next((child for child in parent if child.tag.rsplit("}", 1)[-1] in choices), None)
95
+ if node is None:
96
+ raise ValueError("unsupported or missing background color")
97
+ kind = node.tag.rsplit("}", 1)[-1]
98
+ if kind == "srgbClr":
99
+ rgb = RGBColor.from_string(node.get("val"))
100
+ elif kind == "sysClr":
101
+ rgb = RGBColor.from_string(node.get("lastClr"))
102
+ else:
103
+ slot = node.get("val")
104
+ if slot == "phClr":
105
+ if placeholder is None:
106
+ raise ValueError("unresolved placeholder color")
107
+ rgb = placeholder
108
+ else:
109
+ slot = mapping.get(slot, slot)
110
+ rgb = theme.color_scheme[MSO_THEME_COLOR.from_xml(slot)]
111
+ channels = tuple(c / 255 for c in rgb)
112
+ for transform in node:
113
+ name = transform.tag.rsplit("}", 1)[-1]
114
+ value = int(transform.get("val", "0")) / 100000
115
+ if name == "alpha" and value == 1:
116
+ continue
117
+ if name in {"lumMod", "lumOff", "satMod"}:
118
+ h, light, saturation = colorsys.rgb_to_hls(*channels)
119
+ if name == "lumMod":
120
+ light *= value
121
+ elif name == "lumOff":
122
+ light += value
123
+ else:
124
+ saturation *= value
125
+ channels = colorsys.hls_to_rgb(h, max(0, min(1, light)), max(0, min(1, saturation)))
126
+ elif name == "tint":
127
+ channels = tuple(1 - (1 - c) * value for c in channels)
128
+ elif name == "shade":
129
+ channels = tuple(c * value for c in channels)
130
+ else:
131
+ raise ValueError("unsupported background color transform: " + name)
132
+ return RGBColor(*(round(max(0, min(1, c)) * 255) for c in channels))
133
+
134
+
135
+ def _fill_info(parent, part, theme, mapping, placeholder=None):
136
+ if any(parent.find(qn(name)) is not None for name in ("a:effectLst", "a:effectDag")):
137
+ effects = [parent.find(qn(name)) for name in ("a:effectLst", "a:effectDag")]
138
+ if any(effect is not None and len(effect) for effect in effects):
139
+ raise ValueError("background effects are not supported")
140
+ fills = {"solidFill", "gradFill", "blipFill", "noFill"}
141
+ tag = parent.tag.rsplit("}", 1)[-1]
142
+ node = (
143
+ parent
144
+ if tag in fills
145
+ else next((child for child in parent if child.tag.rsplit("}", 1)[-1] in fills), None)
146
+ )
147
+ if node is None:
148
+ raise ValueError("unsupported background fill")
149
+ kind = node.tag.rsplit("}", 1)[-1]
150
+ if kind == "noFill":
151
+ return BackgroundInfo("none")
152
+ if kind == "solidFill":
153
+ return BackgroundInfo("solid", color=_color(node, theme, mapping, placeholder))
154
+ if kind == "blipFill":
155
+ if node.find(qn("a:tile")) is not None:
156
+ raise ValueError("tiled background pictures are not supported")
157
+ stretch = node.find(qn("a:stretch"))
158
+ if stretch is None:
159
+ raise ValueError("background picture has no stretch geometry")
160
+ rect = stretch.find(qn("a:fillRect"))
161
+ if rect is not None and any(int(rect.get(k, "0")) for k in ("l", "t", "r", "b")):
162
+ raise ValueError("inset picture fills are not supported")
163
+ blip = node.find(qn("a:blip"))
164
+ if blip is None or len(blip):
165
+ raise ValueError("missing background picture or unsupported picture effects")
166
+ image = part.related_part(blip.get(qn("r:embed"))).blob
167
+ rect = node.find(qn("a:srcRect"))
168
+ crop = (
169
+ tuple(int(rect.get(k, "0")) / 100000 for k in ("l", "t", "r", "b"))
170
+ if rect is not None
171
+ else (0.0, 0.0, 0.0, 0.0)
172
+ )
173
+ return BackgroundInfo("picture", image=image, crop=crop)
174
+ stop_list = node.find(qn("a:gsLst"))
175
+ if stop_list is None or len(stop_list) < 2:
176
+ raise ValueError("background gradient needs at least two stops")
177
+ stops = tuple(
178
+ (int(s.get("pos")) / 100000, _color(s, theme, mapping, placeholder)) for s in stop_list
179
+ )
180
+ linear = node.find(qn("a:lin"))
181
+ if linear is not None:
182
+ if linear.get("scaled", "0") not in {"0", "false"}:
183
+ raise ValueError("scaled gradient geometry is not supported")
184
+ return BackgroundInfo(
185
+ "gradient", stops=stops, angle=(-int(linear.get("ang", "0")) / 60000) % 360
186
+ )
187
+ path = node.find(qn("a:path"))
188
+ if path is None or path.get("path") != "circle":
189
+ raise ValueError("unsupported gradient path")
190
+ rect = path.find(qn("a:fillToRect"))
191
+ values = (
192
+ tuple(int(rect.get(k, "0")) / 100000 for k in ("l", "t", "r", "b"))
193
+ if rect is not None
194
+ else (0.0, 0.0, 0.0, 0.0)
195
+ )
196
+ if abs(values[0] + values[2] - 1) > 0.00001 or abs(values[1] + values[3] - 1) > 0.00001:
197
+ raise ValueError("radial gradient focal region must be a point")
198
+ return BackgroundInfo("gradient", stops=stops, radial=True, center=values[:2])
@@ -56,6 +56,13 @@ class _BaseSlide(PartElementProxy):
56
56
  """
57
57
  return _Background(self._element.cSld)
58
58
 
59
+ @property
60
+ def background_info(self):
61
+ """Read-only effective background fill snapshot, including inherited styles."""
62
+ from pptx.background import background_info
63
+
64
+ return background_info(self)
65
+
59
66
  def set_background_picture(self, image_file) -> None:
60
67
  """Use an image path or file-like object as a stretched slide background.
61
68
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ps-python-pptx
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: Python-pptx fork with public APIs for themes, backgrounds, lists, and rich text.
5
5
  Author-email: Steve Canny <stcanny@gmail.com>
6
6
  License: MIT
@@ -204,6 +204,7 @@ features/steps/test_files/extracted-pptx/ppt/theme/theme1.xml
204
204
  src/pptx/__init__.py
205
205
  src/pptx/action.py
206
206
  src/pptx/api.py
207
+ src/pptx/background.py
207
208
  src/pptx/exc.py
208
209
  src/pptx/media.py
209
210
  src/pptx/package.py
@@ -324,6 +325,7 @@ tests/test_action.py
324
325
  tests/test_alternative_text_roundtrip.py
325
326
  tests/test_api.py
326
327
  tests/test_background_authoring_roundtrip.py
328
+ tests/test_background_info.py
327
329
  tests/test_character_formatting_roundtrip.py
328
330
  tests/test_media.py
329
331
  tests/test_package.py
@@ -0,0 +1,91 @@
1
+ """Round-trip checks for the read-only background snapshot API."""
2
+
3
+ import io
4
+
5
+ from PIL import Image
6
+ from pptx import Presentation
7
+ from pptx.dml.color import RGBColor
8
+ from pptx.enum.dml import MSO_THEME_COLOR
9
+ from pptx.oxml.xmlchemy import OxmlElement
10
+
11
+
12
+ def test_inherited_default_background_does_not_change_xml():
13
+ prs = Presentation()
14
+ slide = prs.slides.add_slide(prs.slide_layouts[1])
15
+ before = (slide._element.xml, slide.slide_layout._element.xml, prs.slide_master._element.xml)
16
+ info = slide.background_info
17
+ assert info.kind == "solid"
18
+ assert info.color == RGBColor(255, 255, 255)
19
+ assert before == (
20
+ slide._element.xml,
21
+ slide.slide_layout._element.xml,
22
+ prs.slide_master._element.xml,
23
+ )
24
+
25
+
26
+ def test_layout_and_slide_overrides_resolve_theme_colors():
27
+ prs = Presentation()
28
+ layout = prs.slide_layouts[1]
29
+ layout.background.fill.solid()
30
+ layout.background.fill.fore_color.theme_color = MSO_THEME_COLOR.ACCENT_1
31
+ prs.slide_master.theme.color_scheme[MSO_THEME_COLOR.ACCENT_1] = RGBColor(20, 50, 80)
32
+ slide = prs.slides.add_slide(layout)
33
+ assert slide.background_info.color == RGBColor(20, 50, 80)
34
+ slide.background.fill.solid()
35
+ slide.background.fill.fore_color.rgb = RGBColor(40, 50, 60)
36
+ assert slide.background_info.color == RGBColor(40, 50, 60)
37
+ target = io.BytesIO()
38
+ prs.save(target)
39
+ assert Presentation(target).slides[0].background_info.color == RGBColor(40, 50, 60)
40
+
41
+
42
+ def test_gradient_snapshot_includes_geometry_and_resolved_stops():
43
+ prs = Presentation()
44
+ slide = prs.slides.add_slide(prs.slide_layouts[1])
45
+ stops = [(0, RGBColor(0, 0, 0)), (1, RGBColor(255, 255, 255))]
46
+ slide.background.fill.set_gradient(stops, angle=135)
47
+ info = slide.background_info
48
+ assert info.kind == "gradient"
49
+ assert info.stops == tuple(stops)
50
+ assert info.angle == 135
51
+ assert not info.radial
52
+ slide.background.fill.set_gradient(stops, radial=True, center=(0.25, 0.75))
53
+ info = slide.background_info
54
+ assert info.radial and info.center == (0.25, 0.75)
55
+
56
+
57
+ def test_picture_snapshot_returns_embedded_bytes():
58
+ image = io.BytesIO()
59
+ Image.new("RGB", (20, 10), "blue").save(image, format="PNG")
60
+ prs = Presentation()
61
+ prs.slide_master.set_background_picture(image)
62
+ slide = prs.slides.add_slide(prs.slide_layouts[1])
63
+ before = slide._element.xml
64
+ info = slide.background_info
65
+ assert info.kind == "picture"
66
+ assert info.image == image.getvalue()
67
+ assert before == slide._element.xml
68
+
69
+
70
+ def test_unsupported_fill_is_reported_without_mutation():
71
+ prs = Presentation()
72
+ slide = prs.slides.add_slide(prs.slide_layouts[1])
73
+ slide.background.fill.patterned()
74
+ before = slide._element.xml
75
+ assert slide.background_info.kind == "unknown"
76
+ assert "unsupported" in slide.background_info.reason
77
+ assert before == slide._element.xml
78
+
79
+
80
+ def test_brightness_transforms_are_resolved():
81
+ prs = Presentation()
82
+ slide = prs.slides.add_slide(prs.slide_layouts[1])
83
+ slide.background.fill.solid()
84
+ color = slide.background.fill.fore_color
85
+ color.rgb = RGBColor(255, 255, 255)
86
+ color.brightness = -0.5
87
+ assert slide.background_info.color == RGBColor(128, 128, 128)
88
+ alpha = OxmlElement("a:alpha")
89
+ alpha.set("val", "50000")
90
+ color._color._xClr.append(alpha)
91
+ assert slide.background_info.kind == "unknown"
File without changes
File without changes