ps-python-pptx 1.1.0__tar.gz → 1.3.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 (519) hide show
  1. {ps_python_pptx-1.1.0/src/ps_python_pptx.egg-info → ps_python_pptx-1.3.0}/PKG-INFO +1 -1
  2. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/__init__.py +1 -1
  3. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/action.py +23 -0
  4. ps_python_pptx-1.3.0/src/pptx/background.py +198 -0
  5. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/action.py +2 -0
  6. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/slide.py +7 -0
  7. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/text/text.py +23 -0
  8. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0/src/ps_python_pptx.egg-info}/PKG-INFO +1 -1
  9. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/ps_python_pptx.egg-info/SOURCES.txt +3 -0
  10. ps_python_pptx-1.3.0/tests/test_background_info.py +91 -0
  11. ps_python_pptx-1.3.0/tests/test_screen_tips.py +82 -0
  12. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/FORK.md +0 -0
  13. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/HISTORY.rst +0 -0
  14. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/LICENSE +0 -0
  15. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/MANIFEST.in +0 -0
  16. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/README.rst +0 -0
  17. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/act-action.feature +0 -0
  18. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/act-hyperlink.feature +0 -0
  19. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-axis-props.feature +0 -0
  20. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-axistitle-props.feature +0 -0
  21. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-category-access.feature +0 -0
  22. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-category-props.feature +0 -0
  23. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-chart.feature +0 -0
  24. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-charttitle-props.feature +0 -0
  25. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-data-props.feature +0 -0
  26. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-datalabels.feature +0 -0
  27. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-gridlines-props.feature +0 -0
  28. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-legend-access.feature +0 -0
  29. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-legend-props.feature +0 -0
  30. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-marker-props.feature +0 -0
  31. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-plot-props.feature +0 -0
  32. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-point-access.feature +0 -0
  33. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-point-props.feature +0 -0
  34. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-replace-data.feature +0 -0
  35. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-series.feature +0 -0
  36. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/cht-ticklabels-props.feature +0 -0
  37. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/dml-color.feature +0 -0
  38. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/dml-effect.feature +0 -0
  39. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/dml-fill.feature +0 -0
  40. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/dml-line.feature +0 -0
  41. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/environment.py +0 -0
  42. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/ph-inherit-props.feature +0 -0
  43. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/ph-insert-shape.feature +0 -0
  44. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/ph-phfmt-props.feature +0 -0
  45. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/ph-placeholder-props.feature +0 -0
  46. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/prs-coreprops.feature +0 -0
  47. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/prs-default-template.feature +0 -0
  48. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/prs-open-save.feature +0 -0
  49. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/prs-presentation-props.feature +0 -0
  50. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-alt-text.feature +0 -0
  51. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-autoshape.feature +0 -0
  52. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-connector.feature +0 -0
  53. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-freeform.feature +0 -0
  54. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-graphicframe.feature +0 -0
  55. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-groupshape.feature +0 -0
  56. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-movie-props.feature +0 -0
  57. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-picture.feature +0 -0
  58. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-placeholder.feature +0 -0
  59. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-shapes.feature +0 -0
  60. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/shp-shared.feature +0 -0
  61. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/sld-background.feature +0 -0
  62. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/sld-slide.feature +0 -0
  63. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/sld-slides.feature +0 -0
  64. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/action.py +0 -0
  65. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/axis.py +0 -0
  66. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/background.py +0 -0
  67. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/category.py +0 -0
  68. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/chart.py +0 -0
  69. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/chartdata.py +0 -0
  70. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/color.py +0 -0
  71. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/coreprops.py +0 -0
  72. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/datalabel.py +0 -0
  73. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/effect.py +0 -0
  74. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/fill.py +0 -0
  75. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/font.py +0 -0
  76. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/font_color.py +0 -0
  77. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/helpers.py +0 -0
  78. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/legend.py +0 -0
  79. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/line.py +0 -0
  80. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/picture.py +0 -0
  81. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/placeholder.py +0 -0
  82. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/plot.py +0 -0
  83. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/presentation.py +0 -0
  84. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/series.py +0 -0
  85. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/shape.py +0 -0
  86. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/shapes.py +0 -0
  87. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/slide.py +0 -0
  88. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/slides.py +0 -0
  89. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/table.py +0 -0
  90. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/72-dpi.tiff +0 -0
  91. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/CVS_LOGO.WMF +0 -0
  92. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/act-props.pptm +0 -0
  93. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/calibriz.ttf +0 -0
  94. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-axis-props.pptx +0 -0
  95. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-category-access.pptx +0 -0
  96. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-chart-props.pptx +0 -0
  97. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-chart-type.pptx +0 -0
  98. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-charts.pptx +0 -0
  99. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-datalabels.pptx +0 -0
  100. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-gridlines-props.pptx +0 -0
  101. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-legend-props.pptx +0 -0
  102. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-legend.pptx +0 -0
  103. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-marker-props.pptx +0 -0
  104. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-plot-props.pptx +0 -0
  105. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-point-access.pptx +0 -0
  106. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-point-props.pptx +0 -0
  107. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-replace-data.pptx +0 -0
  108. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-series.pptx +0 -0
  109. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/cht-ticklabels-props.pptx +0 -0
  110. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/dml-effect.pptx +0 -0
  111. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/dml-fill.pptx +0 -0
  112. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/dml-line.pptx +0 -0
  113. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/ext-rels.pptx +0 -0
  114. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/[Content_Types].xml +0 -0
  115. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/_rels/.rels +0 -0
  116. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/docProps/app.xml +0 -0
  117. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/docProps/core.xml +0 -0
  118. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/docProps/thumbnail.jpeg +0 -0
  119. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/_rels/presentation.xml.rels +0 -0
  120. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/presProps.xml +0 -0
  121. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/presentation.xml +0 -0
  122. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/printerSettings/printerSettings1.bin +0 -0
  123. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels +0 -0
  124. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels +0 -0
  125. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels +0 -0
  126. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels +0 -0
  127. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels +0 -0
  128. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels +0 -0
  129. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels +0 -0
  130. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels +0 -0
  131. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels +0 -0
  132. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels +0 -0
  133. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels +0 -0
  134. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout1.xml +0 -0
  135. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout10.xml +0 -0
  136. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout11.xml +0 -0
  137. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout2.xml +0 -0
  138. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout3.xml +0 -0
  139. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout4.xml +0 -0
  140. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout5.xml +0 -0
  141. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout6.xml +0 -0
  142. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout7.xml +0 -0
  143. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout8.xml +0 -0
  144. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideLayouts/slideLayout9.xml +0 -0
  145. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels +0 -0
  146. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slideMasters/slideMaster1.xml +0 -0
  147. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slides/_rels/slide1.xml.rels +0 -0
  148. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/slides/slide1.xml +0 -0
  149. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/tableStyles.xml +0 -0
  150. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/theme/theme1.xml +0 -0
  151. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/extracted-pptx/ppt/viewProps.xml +0 -0
  152. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/font-color.pptx +0 -0
  153. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/just-two-mice.mp4 +0 -0
  154. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/just-two-mice.png +0 -0
  155. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/lyt-shapes.pptx +0 -0
  156. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/minimal.pptx +0 -0
  157. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/monty-truth.png +0 -0
  158. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/mst-placeholders.pptx +0 -0
  159. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/mst-shapes.pptx +0 -0
  160. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/mst-slide-layouts.pptx +0 -0
  161. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/ph-inherit-props.pptx +0 -0
  162. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/ph-populated-placeholders.pptx +0 -0
  163. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/ph-unpopulated-placeholders.pptx +0 -0
  164. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/pic.emf +0 -0
  165. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/prs-add-slide.pptx +0 -0
  166. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/prs-notes.pptx +0 -0
  167. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/prs-properties.pptx +0 -0
  168. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/prs-slide-masters.pptx +0 -0
  169. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/python-icon.jpeg +0 -0
  170. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/python-powered.png +0 -0
  171. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/python.bmp +0 -0
  172. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-access-chart.pptx +0 -0
  173. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-access-ole-object.pptx +0 -0
  174. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-autoshape-adjustments.pptx +0 -0
  175. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-autoshape-props.pptx +0 -0
  176. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-common-props.pptx +0 -0
  177. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-connector-props.pptx +0 -0
  178. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-embedded-docx.docx +0 -0
  179. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-embedded-pptx.pptx +0 -0
  180. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-embedded-xlsx.xlsx +0 -0
  181. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-freeform.pptx +0 -0
  182. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-groupshape.pptx +0 -0
  183. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-movie-props.pptx +0 -0
  184. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-picture.pptx +0 -0
  185. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-pos-and-size.pptx +0 -0
  186. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/shp-shapes.pptx +0 -0
  187. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/sld-background.pptx +0 -0
  188. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/sld-blank.pptx +0 -0
  189. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/sld-notes.pptx +0 -0
  190. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/sld-slide.pptx +0 -0
  191. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/sld-slides.pptx +0 -0
  192. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/sonic.gif +0 -0
  193. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/tbl-cell.pptx +0 -0
  194. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/test-image-jpg-mime.pptx +0 -0
  195. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/test.pptx +0 -0
  196. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/txt-fit-text.pptx +0 -0
  197. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/txt-font-props.pptx +0 -0
  198. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/txt-font-typeface.pptx +0 -0
  199. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/txt-paragraph-spacing.pptx +0 -0
  200. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/txt-text-frame.pptx +0 -0
  201. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/test_files/txt-text.pptx +0 -0
  202. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/text.py +0 -0
  203. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/steps/text_frame.py +0 -0
  204. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/tbl-cell.feature +0 -0
  205. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/tbl-column.feature +0 -0
  206. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/tbl-table.feature +0 -0
  207. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/txt-fit-text.feature +0 -0
  208. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/txt-font-color.feature +0 -0
  209. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/txt-font-props.feature +0 -0
  210. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/txt-paragraph.feature +0 -0
  211. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/txt-text.feature +0 -0
  212. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/features/txt-textframe.feature +0 -0
  213. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/pyproject.toml +0 -0
  214. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/setup.cfg +0 -0
  215. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/api.py +0 -0
  216. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/__init__.py +0 -0
  217. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/axis.py +0 -0
  218. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/category.py +0 -0
  219. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/chart.py +0 -0
  220. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/data.py +0 -0
  221. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/datalabel.py +0 -0
  222. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/legend.py +0 -0
  223. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/marker.py +0 -0
  224. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/plot.py +0 -0
  225. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/point.py +0 -0
  226. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/series.py +0 -0
  227. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/xlsx.py +0 -0
  228. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/chart/xmlwriter.py +0 -0
  229. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/dml/__init__.py +0 -0
  230. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/dml/chtfmt.py +0 -0
  231. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/dml/color.py +0 -0
  232. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/dml/effect.py +0 -0
  233. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/dml/fill.py +0 -0
  234. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/dml/line.py +0 -0
  235. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/__init__.py +0 -0
  236. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/action.py +0 -0
  237. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/base.py +0 -0
  238. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/chart.py +0 -0
  239. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/dml.py +0 -0
  240. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/lang.py +0 -0
  241. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/shapes.py +0 -0
  242. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/enum/text.py +0 -0
  243. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/exc.py +0 -0
  244. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/media.py +0 -0
  245. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/__init__.py +0 -0
  246. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/constants.py +0 -0
  247. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/oxml.py +0 -0
  248. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/package.py +0 -0
  249. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/packuri.py +0 -0
  250. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/serialized.py +0 -0
  251. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/shared.py +0 -0
  252. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/opc/spec.py +0 -0
  253. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/__init__.py +0 -0
  254. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/__init__.py +0 -0
  255. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/axis.py +0 -0
  256. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/chart.py +0 -0
  257. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/datalabel.py +0 -0
  258. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/legend.py +0 -0
  259. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/marker.py +0 -0
  260. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/plot.py +0 -0
  261. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/series.py +0 -0
  262. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/chart/shared.py +0 -0
  263. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/coreprops.py +0 -0
  264. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/dml/__init__.py +0 -0
  265. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/dml/color.py +0 -0
  266. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/dml/fill.py +0 -0
  267. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/dml/line.py +0 -0
  268. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/ns.py +0 -0
  269. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/presentation.py +0 -0
  270. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/shapes/__init__.py +0 -0
  271. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/shapes/autoshape.py +0 -0
  272. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/shapes/connector.py +0 -0
  273. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/shapes/graphfrm.py +0 -0
  274. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/shapes/groupshape.py +0 -0
  275. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/shapes/picture.py +0 -0
  276. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/shapes/shared.py +0 -0
  277. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/simpletypes.py +0 -0
  278. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/slide.py +0 -0
  279. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/table.py +0 -0
  280. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/text.py +0 -0
  281. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/theme.py +0 -0
  282. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/oxml/xmlchemy.py +0 -0
  283. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/package.py +0 -0
  284. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/__init__.py +0 -0
  285. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/chart.py +0 -0
  286. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/coreprops.py +0 -0
  287. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/embeddedpackage.py +0 -0
  288. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/image.py +0 -0
  289. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/media.py +0 -0
  290. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/presentation.py +0 -0
  291. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/slide.py +0 -0
  292. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/parts/theme.py +0 -0
  293. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/presentation.py +0 -0
  294. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/py.typed +0 -0
  295. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/__init__.py +0 -0
  296. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/autoshape.py +0 -0
  297. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/base.py +0 -0
  298. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/connector.py +0 -0
  299. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/freeform.py +0 -0
  300. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/graphfrm.py +0 -0
  301. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/group.py +0 -0
  302. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/picture.py +0 -0
  303. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/placeholder.py +0 -0
  304. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shapes/shapetree.py +0 -0
  305. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/shared.py +0 -0
  306. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/spec.py +0 -0
  307. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/table.py +0 -0
  308. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/default.pptx +0 -0
  309. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/docx-icon.emf +0 -0
  310. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/generic-icon.emf +0 -0
  311. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/notes.xml +0 -0
  312. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/notesMaster.xml +0 -0
  313. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/pptx-icon.emf +0 -0
  314. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/theme.xml +0 -0
  315. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/templates/xlsx-icon.emf +0 -0
  316. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/text/__init__.py +0 -0
  317. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/text/fonts.py +0 -0
  318. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/text/layout.py +0 -0
  319. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/theme.py +0 -0
  320. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/types.py +0 -0
  321. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/pptx/util.py +0 -0
  322. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/ps_python_pptx.egg-info/dependency_links.txt +0 -0
  323. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/ps_python_pptx.egg-info/requires.txt +0 -0
  324. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/src/ps_python_pptx.egg-info/top_level.txt +0 -0
  325. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/__init__.py +0 -0
  326. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/__init__.py +0 -0
  327. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_axis.py +0 -0
  328. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_category.py +0 -0
  329. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_chart.py +0 -0
  330. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_data.py +0 -0
  331. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_datalabel.py +0 -0
  332. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_legend.py +0 -0
  333. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_marker.py +0 -0
  334. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_plot.py +0 -0
  335. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_point.py +0 -0
  336. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_series.py +0 -0
  337. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_xlsx.py +0 -0
  338. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/chart/test_xmlwriter.py +0 -0
  339. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/dml/__init__.py +0 -0
  340. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/dml/test_chtfmt.py +0 -0
  341. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/dml/test_color.py +0 -0
  342. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/dml/test_effect.py +0 -0
  343. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/dml/test_fill.py +0 -0
  344. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/dml/test_line.py +0 -0
  345. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/enum/__init__.py +0 -0
  346. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/enum/test_base.py +0 -0
  347. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/enum/test_shapes.py +0 -0
  348. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/fork_wheel_smoke.py +0 -0
  349. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/opc/__init__.py +0 -0
  350. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/opc/test_oxml.py +0 -0
  351. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/opc/test_package.py +0 -0
  352. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/opc/test_packuri.py +0 -0
  353. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/opc/test_serialized.py +0 -0
  354. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/__init__.py +0 -0
  355. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/shapes/__init__.py +0 -0
  356. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/shapes/test_autoshape.py +0 -0
  357. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/shapes/test_graphfrm.py +0 -0
  358. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/shapes/test_groupshape.py +0 -0
  359. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/shapes/test_picture.py +0 -0
  360. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test___init__.py +0 -0
  361. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_dml.py +0 -0
  362. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_ns.py +0 -0
  363. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_presentation.py +0 -0
  364. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_simpletypes.py +0 -0
  365. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_slide.py +0 -0
  366. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_table.py +0 -0
  367. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_theme.py +0 -0
  368. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/test_xmlchemy.py +0 -0
  369. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/unitdata/__init__.py +0 -0
  370. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/unitdata/dml.py +0 -0
  371. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/unitdata/shape.py +0 -0
  372. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/oxml/unitdata/text.py +0 -0
  373. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/__init__.py +0 -0
  374. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/test_chart.py +0 -0
  375. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/test_coreprops.py +0 -0
  376. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/test_embeddedpackage.py +0 -0
  377. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/test_image.py +0 -0
  378. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/test_media.py +0 -0
  379. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/test_presentation.py +0 -0
  380. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/parts/test_slide.py +0 -0
  381. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/__init__.py +0 -0
  382. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_autoshape.py +0 -0
  383. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_base.py +0 -0
  384. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_connector.py +0 -0
  385. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_freeform.py +0 -0
  386. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_graphfrm.py +0 -0
  387. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_group.py +0 -0
  388. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_picture.py +0 -0
  389. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_placeholder.py +0 -0
  390. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/shapes/test_shapetree.py +0 -0
  391. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_action.py +0 -0
  392. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_alternative_text_roundtrip.py +0 -0
  393. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_api.py +0 -0
  394. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_background_authoring_roundtrip.py +0 -0
  395. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_character_formatting_roundtrip.py +0 -0
  396. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/calibriz.ttf +0 -0
  397. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/cdw-logo.eps +0 -0
  398. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/dummy.mp4 +0 -0
  399. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/[Content_Types].xml +0 -0
  400. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/_rels/.rels +0 -0
  401. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/docProps/app.xml +0 -0
  402. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/docProps/core.xml +0 -0
  403. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/docProps/thumbnail.jpeg +0 -0
  404. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/_rels/presentation.xml.rels +0 -0
  405. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/presProps.xml +0 -0
  406. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/presentation.xml +0 -0
  407. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/printerSettings/printerSettings1.bin +0 -0
  408. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels +0 -0
  409. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels +0 -0
  410. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels +0 -0
  411. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels +0 -0
  412. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels +0 -0
  413. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels +0 -0
  414. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels +0 -0
  415. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels +0 -0
  416. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels +0 -0
  417. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels +0 -0
  418. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels +0 -0
  419. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout1.xml +0 -0
  420. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout10.xml +0 -0
  421. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout11.xml +0 -0
  422. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout2.xml +0 -0
  423. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout3.xml +0 -0
  424. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout4.xml +0 -0
  425. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout5.xml +0 -0
  426. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout6.xml +0 -0
  427. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout7.xml +0 -0
  428. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout8.xml +0 -0
  429. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideLayouts/slideLayout9.xml +0 -0
  430. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels +0 -0
  431. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slideMasters/slideMaster1.xml +0 -0
  432. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slides/_rels/slide1.xml.rels +0 -0
  433. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/slides/slide1.xml +0 -0
  434. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/tableStyles.xml +0 -0
  435. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/theme/theme1.xml +0 -0
  436. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/expanded_pptx/ppt/viewProps.xml +0 -0
  437. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/minimal.pptx +0 -0
  438. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/minimal_slide.xml +0 -0
  439. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/missing_rels_item.pptx +0 -0
  440. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/monty-truth.png +0 -0
  441. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/no-core-props.pptx +0 -0
  442. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/no-slides.pptx +0 -0
  443. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/presentation.xml +0 -0
  444. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/python-icon.jpeg +0 -0
  445. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/python-powered.png +0 -0
  446. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/python.bmp +0 -0
  447. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/slideLayout1.xml +0 -0
  448. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-area-date.txt +0 -0
  449. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-area-float.txt +0 -0
  450. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-area-stacked-100.txt +0 -0
  451. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-area-stacked.txt +0 -0
  452. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-area.txt +0 -0
  453. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-bar-clustered-date.txt +0 -0
  454. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-bar-clustered-float.txt +0 -0
  455. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-bar-clustered.txt +0 -0
  456. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-bar-stacked-100.txt +0 -0
  457. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-bar-stacked.txt +0 -0
  458. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-column-clustered.txt +0 -0
  459. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-column-stacked-100.txt +0 -0
  460. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-column-stacked.txt +0 -0
  461. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line-date.txt +0 -0
  462. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line-float.txt +0 -0
  463. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line-markers-stacked-100.txt +0 -0
  464. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line-markers-stacked.txt +0 -0
  465. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line-markers.txt +0 -0
  466. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line-stacked-100.txt +0 -0
  467. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line-stacked.txt +0 -0
  468. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x2-line.txt +0 -0
  469. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x3-bubble-3d.txt +0 -0
  470. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x3-bubble.txt +0 -0
  471. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x3-xy-lines-no-markers.txt +0 -0
  472. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x3-xy-lines.txt +0 -0
  473. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x3-xy-smooth-no-markers.txt +0 -0
  474. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x3-xy-smooth.txt +0 -0
  475. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x3-xy.txt +0 -0
  476. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/2x5-radar.txt +0 -0
  477. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/3x1-pie-exploded.txt +0 -0
  478. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/3x1-pie.txt +0 -0
  479. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/3x2-doughnut-exploded.txt +0 -0
  480. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/3x2-doughnut.txt +0 -0
  481. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/4x2-multi-cat-bar.txt +0 -0
  482. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/adjust-ser-count.txt +0 -0
  483. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/cat-labels.txt +0 -0
  484. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/content-types-xml.txt +0 -0
  485. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/default-notes.txt +0 -0
  486. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/default-notesMaster.txt +0 -0
  487. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/default-theme.txt +0 -0
  488. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/freeform.txt +0 -0
  489. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/package-rels-xml.txt +0 -0
  490. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/placeholders.txt +0 -0
  491. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/presentation-rels-xml.txt +0 -0
  492. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/relationships.txt +0 -0
  493. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/rels-load-from-xml.txt +0 -0
  494. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/rewrite-ser.txt +0 -0
  495. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/snippets/timing.txt +0 -0
  496. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/test.pptx +0 -0
  497. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_files/test_slides.pptx +0 -0
  498. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_media.py +0 -0
  499. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_package.py +0 -0
  500. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_paragraph_formatting_roundtrip.py +0 -0
  501. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_presentation.py +0 -0
  502. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_shared.py +0 -0
  503. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_slide.py +0 -0
  504. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_slide_management_roundtrip.py +0 -0
  505. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_stacking_order_roundtrip.py +0 -0
  506. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_table.py +0 -0
  507. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_table_style_roundtrip.py +0 -0
  508. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_theme_authoring_roundtrip.py +0 -0
  509. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/test_util.py +0 -0
  510. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/text/__init__.py +0 -0
  511. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/text/test_fonts.py +0 -0
  512. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/text/test_layout.py +0 -0
  513. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/text/test_text.py +0 -0
  514. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/unitdata.py +0 -0
  515. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/unitutil/__init__.py +0 -0
  516. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/unitutil/cxml.py +0 -0
  517. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/unitutil/file.py +0 -0
  518. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.0}/tests/unitutil/mock.py +0 -0
  519. {ps_python_pptx-1.1.0 → ps_python_pptx-1.3.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.3.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.3.0"
30
30
 
31
31
  sys.modules["pptx.exceptions"] = exceptions
32
32
  del sys
@@ -237,6 +237,29 @@ class Hyperlink(Subshape):
237
237
  hlink = self._get_or_add_hlink()
238
238
  hlink.rId = rId
239
239
 
240
+ @property
241
+ def screen_tip(self) -> str | None:
242
+ """Text shown by PowerPoint when pointing at this hyperlink.
243
+
244
+ Assign the address or action before setting a ScreenTip. Assigning None
245
+ or an empty string removes the tip without changing the link. Setting
246
+ a new address uses the existing address setter behavior and clears the
247
+ old tip. Reading this property does not create a hyperlink element.
248
+ """
249
+ hlink = self._hlink
250
+ return hlink.tooltip if hlink is not None else None
251
+
252
+ @screen_tip.setter
253
+ def screen_tip(self, value: str | None):
254
+ if value is not None and not isinstance(value, str):
255
+ raise TypeError("screen_tip must be a string or None")
256
+ hlink = self._hlink
257
+ if hlink is None:
258
+ if value:
259
+ raise ValueError("Set a hyperlink address or action before its ScreenTip")
260
+ return
261
+ hlink.tooltip = value or None
262
+
240
263
  def _get_or_add_hlink(self) -> CT_Hyperlink:
241
264
  """Get the `a:hlinkClick` or `a:hlinkHover` element for the Hyperlink object.
242
265
 
@@ -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])
@@ -14,6 +14,8 @@ class CT_Hyperlink(BaseOxmlElement):
14
14
  "action", XsdString
15
15
  )
16
16
 
17
+ tooltip: str | None = OptionalAttribute("tooltip", XsdString) # pyright: ignore[reportAssignmentType]
18
+
17
19
  @property
18
20
  def action_fields(self) -> dict[str, str]:
19
21
  """Query portion of the `ppaction://` URL as dict.
@@ -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
 
@@ -488,6 +488,29 @@ class _Hyperlink(Subshape):
488
488
  if url:
489
489
  self._add_hlinkClick(url)
490
490
 
491
+ @property
492
+ def screen_tip(self) -> str | None:
493
+ """Text shown by PowerPoint when pointing at this hyperlink.
494
+
495
+ Assign the address or action before setting a ScreenTip. Assigning None
496
+ or an empty string removes the tip without changing the link. Setting
497
+ a new address uses the existing address setter behavior and clears the
498
+ old tip. Reading this property does not create a hyperlink element.
499
+ """
500
+ hlink = self._hlinkClick
501
+ return hlink.tooltip if hlink is not None else None
502
+
503
+ @screen_tip.setter
504
+ def screen_tip(self, value: str | None):
505
+ if value is not None and not isinstance(value, str):
506
+ raise TypeError("screen_tip must be a string or None")
507
+ hlink = self._hlinkClick
508
+ if hlink is None:
509
+ if value:
510
+ raise ValueError("Set a hyperlink address or action before its ScreenTip")
511
+ return
512
+ hlink.tooltip = value or None
513
+
491
514
  def _add_hlinkClick(self, url: str):
492
515
  rId = self.part.relate_to(url, RT.HYPERLINK, is_external=True)
493
516
  self._rPr.add_hlinkClick(rId)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ps-python-pptx
3
- Version: 1.1.0
3
+ Version: 1.3.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,11 +325,13 @@ 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
330
332
  tests/test_paragraph_formatting_roundtrip.py
331
333
  tests/test_presentation.py
334
+ tests/test_screen_tips.py
332
335
  tests/test_shared.py
333
336
  tests/test_slide.py
334
337
  tests/test_slide_management_roundtrip.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"
@@ -0,0 +1,82 @@
1
+ """ScreenTips on text, shape click, and shape hover hyperlinks."""
2
+
3
+ import io
4
+
5
+ import pytest
6
+ from pptx import Presentation
7
+ from pptx.action import ActionSetting
8
+ from pptx.enum.shapes import MSO_SHAPE
9
+ from pptx.util import Inches
10
+
11
+
12
+ def link(prs, kind):
13
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
14
+ shape = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, 0, 0, Inches(2), Inches(1))
15
+ if kind == "text":
16
+ run = shape.text_frame.paragraphs[0].add_run()
17
+ run.text = "Documentation"
18
+ return run.hyperlink
19
+ return (
20
+ shape.click_action
21
+ if kind == "click"
22
+ else ActionSetting(shape._element._nvXxPr.cNvPr, shape, hover=True)
23
+ ).hyperlink
24
+
25
+
26
+ @pytest.mark.parametrize("kind", ["text", "click", "hover"])
27
+ def test_screen_tip_round_trip_and_clear(kind):
28
+ prs = Presentation()
29
+ hyperlink = link(prs, kind)
30
+ hyperlink.address = "https://example.com"
31
+ hyperlink.screen_tip = 'Guide <&> "notes" café'
32
+ output = io.BytesIO()
33
+ prs.save(output)
34
+ shape = Presentation(output).slides[0].shapes[0]
35
+ restored = (
36
+ shape.text_frame.paragraphs[0].runs[0].hyperlink
37
+ if kind == "text"
38
+ else (
39
+ shape.click_action
40
+ if kind == "click"
41
+ else ActionSetting(shape._element._nvXxPr.cNvPr, shape, hover=True)
42
+ ).hyperlink
43
+ )
44
+ assert restored.screen_tip == 'Guide <&> "notes" café'
45
+ assert restored.address == "https://example.com"
46
+ restored.screen_tip = ""
47
+ assert restored.screen_tip is None
48
+ assert restored.address == "https://example.com"
49
+ restored.screen_tip = "Again"
50
+ restored.screen_tip = None
51
+ assert restored.address == "https://example.com"
52
+ assert restored.screen_tip is None
53
+
54
+
55
+ @pytest.mark.parametrize("kind", ["text", "click", "hover"])
56
+ def test_missing_link_is_not_created_by_screen_tip_access(kind):
57
+ prs = Presentation()
58
+ hyperlink = link(prs, kind)
59
+ slide = prs.slides[0]
60
+ before = slide._element.xml
61
+ assert hyperlink.screen_tip is None
62
+ hyperlink.screen_tip = None
63
+ hyperlink.screen_tip = ""
64
+ with pytest.raises(ValueError):
65
+ hyperlink.screen_tip = "No target"
66
+ with pytest.raises(TypeError):
67
+ hyperlink.screen_tip = 123
68
+ assert before == slide._element.xml
69
+
70
+
71
+ @pytest.mark.parametrize("kind", ["text", "click", "hover"])
72
+ def test_address_removal_clears_tip(kind):
73
+ prs = Presentation()
74
+ hyperlink = link(prs, kind)
75
+ hyperlink.address = "https://example.com"
76
+ hyperlink.screen_tip = "Old target"
77
+ hyperlink.address = "https://example.org"
78
+ assert hyperlink.screen_tip is None
79
+ hyperlink.screen_tip = "New target"
80
+ hyperlink.address = None
81
+ assert hyperlink.screen_tip is None
82
+ assert hyperlink.address is None
File without changes
File without changes