quickinteg 2.5.0__tar.gz → 2.8.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 (505) hide show
  1. {quickinteg-2.5.0/quickinteg.egg-info → quickinteg-2.8.0}/PKG-INFO +1 -1
  2. {quickinteg-2.5.0 → quickinteg-2.8.0}/pyproject.toml +2 -2
  3. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/__about__.py +2 -4
  4. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/cli.py +28 -12
  5. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/excel_shortcut.py +7 -8
  6. quickinteg-2.8.0/quickinteg/external/XlsxWriter-3.1.9.dist-info/INSTALLER +1 -0
  7. quickinteg-2.8.0/quickinteg/external/XlsxWriter-3.1.9.dist-info/LICENSE.txt +25 -0
  8. quickinteg-2.8.0/quickinteg/external/XlsxWriter-3.1.9.dist-info/METADATA +89 -0
  9. quickinteg-2.8.0/quickinteg/external/XlsxWriter-3.1.9.dist-info/RECORD +41 -0
  10. quickinteg-2.8.0/quickinteg/external/XlsxWriter-3.1.9.dist-info/WHEEL +5 -0
  11. quickinteg-2.8.0/quickinteg/external/XlsxWriter-3.1.9.dist-info/top_level.txt +1 -0
  12. quickinteg-2.8.0/quickinteg/external/__init__.py +0 -0
  13. quickinteg-2.8.0/quickinteg/external/__pycache__/__init__.cpython-312.pyc +0 -0
  14. quickinteg-2.8.0/quickinteg/external/__pycache__/__init__.cpython-313.pyc +0 -0
  15. quickinteg-2.8.0/quickinteg/external/__pycache__/__init__.cpython-314.pyc +0 -0
  16. quickinteg-2.8.0/quickinteg/external/bin/vba_extract.py +78 -0
  17. quickinteg-2.8.0/quickinteg/external/openpyxl/__init__.py +19 -0
  18. quickinteg-2.8.0/quickinteg/external/openpyxl/__pycache__/__init__.cpython-312.pyc +0 -0
  19. quickinteg-2.8.0/quickinteg/external/openpyxl/__pycache__/__init__.cpython-314.pyc +0 -0
  20. quickinteg-2.8.0/quickinteg/external/openpyxl/__pycache__/_constants.cpython-312.pyc +0 -0
  21. quickinteg-2.8.0/quickinteg/external/openpyxl/_constants.py +13 -0
  22. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/__init__.py +4 -0
  23. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/__pycache__/__init__.cpython-312.pyc +0 -0
  24. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/__pycache__/_writer.cpython-312.pyc +0 -0
  25. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/__pycache__/cell.cpython-312.pyc +0 -0
  26. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/__pycache__/read_only.cpython-312.pyc +0 -0
  27. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/__pycache__/rich_text.cpython-312.pyc +0 -0
  28. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/__pycache__/text.cpython-312.pyc +0 -0
  29. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/_writer.py +158 -0
  30. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/cell.py +332 -0
  31. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/read_only.py +136 -0
  32. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/rich_text.py +167 -0
  33. quickinteg-2.8.0/quickinteg/external/openpyxl/cell/text.py +184 -0
  34. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/_3d.py +105 -0
  35. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__init__.py +19 -0
  36. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/_3d.cpython-312.pyc +0 -0
  37. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/__init__.cpython-312.pyc +0 -0
  38. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/_chart.cpython-312.pyc +0 -0
  39. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/area_chart.cpython-312.pyc +0 -0
  40. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/axis.cpython-312.pyc +0 -0
  41. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/bar_chart.cpython-312.pyc +0 -0
  42. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/bubble_chart.cpython-312.pyc +0 -0
  43. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/chartspace.cpython-312.pyc +0 -0
  44. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/data_source.cpython-312.pyc +0 -0
  45. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/descriptors.cpython-312.pyc +0 -0
  46. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/error_bar.cpython-312.pyc +0 -0
  47. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/label.cpython-312.pyc +0 -0
  48. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/layout.cpython-312.pyc +0 -0
  49. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/legend.cpython-312.pyc +0 -0
  50. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/line_chart.cpython-312.pyc +0 -0
  51. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/marker.cpython-312.pyc +0 -0
  52. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/picture.cpython-312.pyc +0 -0
  53. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/pie_chart.cpython-312.pyc +0 -0
  54. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/pivot.cpython-312.pyc +0 -0
  55. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/plotarea.cpython-312.pyc +0 -0
  56. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/print_settings.cpython-312.pyc +0 -0
  57. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/radar_chart.cpython-312.pyc +0 -0
  58. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/reader.cpython-312.pyc +0 -0
  59. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/reference.cpython-312.pyc +0 -0
  60. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/scatter_chart.cpython-312.pyc +0 -0
  61. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/series.cpython-312.pyc +0 -0
  62. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/series_factory.cpython-312.pyc +0 -0
  63. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/shapes.cpython-312.pyc +0 -0
  64. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/stock_chart.cpython-312.pyc +0 -0
  65. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/surface_chart.cpython-312.pyc +0 -0
  66. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/text.cpython-312.pyc +0 -0
  67. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/title.cpython-312.pyc +0 -0
  68. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/trendline.cpython-312.pyc +0 -0
  69. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/__pycache__/updown_bars.cpython-312.pyc +0 -0
  70. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/_chart.py +199 -0
  71. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/area_chart.py +106 -0
  72. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/axis.py +401 -0
  73. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/bar_chart.py +144 -0
  74. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/bubble_chart.py +67 -0
  75. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/chartspace.py +195 -0
  76. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/data_source.py +246 -0
  77. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/descriptors.py +43 -0
  78. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/error_bar.py +62 -0
  79. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/label.py +127 -0
  80. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/layout.py +74 -0
  81. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/legend.py +75 -0
  82. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/line_chart.py +129 -0
  83. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/marker.py +90 -0
  84. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/picture.py +35 -0
  85. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/pie_chart.py +177 -0
  86. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/pivot.py +65 -0
  87. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/plotarea.py +162 -0
  88. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/print_settings.py +57 -0
  89. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/radar_chart.py +55 -0
  90. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/reader.py +32 -0
  91. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/reference.py +124 -0
  92. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/scatter_chart.py +53 -0
  93. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/series.py +197 -0
  94. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/series_factory.py +41 -0
  95. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/shapes.py +89 -0
  96. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/stock_chart.py +54 -0
  97. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/surface_chart.py +119 -0
  98. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/text.py +78 -0
  99. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/title.py +76 -0
  100. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/trendline.py +98 -0
  101. quickinteg-2.8.0/quickinteg/external/openpyxl/chart/updown_bars.py +31 -0
  102. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__init__.py +3 -0
  103. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/__init__.cpython-312.pyc +0 -0
  104. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/chartsheet.cpython-312.pyc +0 -0
  105. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/custom.cpython-312.pyc +0 -0
  106. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/properties.cpython-312.pyc +0 -0
  107. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/protection.cpython-312.pyc +0 -0
  108. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/publish.cpython-312.pyc +0 -0
  109. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/relation.cpython-312.pyc +0 -0
  110. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/__pycache__/views.cpython-312.pyc +0 -0
  111. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/chartsheet.py +107 -0
  112. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/custom.py +61 -0
  113. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/properties.py +28 -0
  114. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/protection.py +41 -0
  115. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/publish.py +58 -0
  116. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/relation.py +97 -0
  117. quickinteg-2.8.0/quickinteg/external/openpyxl/chartsheet/views.py +51 -0
  118. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/__init__.py +4 -0
  119. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/__pycache__/__init__.cpython-312.pyc +0 -0
  120. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/__pycache__/author.cpython-312.pyc +0 -0
  121. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/__pycache__/comment_sheet.cpython-312.pyc +0 -0
  122. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/__pycache__/comments.cpython-312.pyc +0 -0
  123. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/__pycache__/shape_writer.cpython-312.pyc +0 -0
  124. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/author.py +21 -0
  125. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/comment_sheet.py +211 -0
  126. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/comments.py +62 -0
  127. quickinteg-2.8.0/quickinteg/external/openpyxl/comments/shape_writer.py +112 -0
  128. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/__init__.py +54 -0
  129. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  130. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/__pycache__/numbers.cpython-312.pyc +0 -0
  131. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/__pycache__/strings.cpython-312.pyc +0 -0
  132. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/abc.py +8 -0
  133. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/numbers.py +43 -0
  134. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/product.py +17 -0
  135. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/singleton.py +40 -0
  136. quickinteg-2.8.0/quickinteg/external/openpyxl/compat/strings.py +25 -0
  137. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__init__.py +58 -0
  138. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__pycache__/__init__.cpython-312.pyc +0 -0
  139. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__pycache__/base.cpython-312.pyc +0 -0
  140. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__pycache__/excel.cpython-312.pyc +0 -0
  141. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__pycache__/namespace.cpython-312.pyc +0 -0
  142. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__pycache__/nested.cpython-312.pyc +0 -0
  143. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__pycache__/sequence.cpython-312.pyc +0 -0
  144. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/__pycache__/serialisable.cpython-312.pyc +0 -0
  145. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/base.py +272 -0
  146. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/excel.py +112 -0
  147. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/namespace.py +12 -0
  148. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/nested.py +131 -0
  149. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/sequence.py +136 -0
  150. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/serialisable.py +240 -0
  151. quickinteg-2.8.0/quickinteg/external/openpyxl/descriptors/slots.py +18 -0
  152. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__init__.py +4 -0
  153. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/__init__.cpython-312.pyc +0 -0
  154. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/colors.cpython-312.pyc +0 -0
  155. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/connector.cpython-312.pyc +0 -0
  156. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/drawing.cpython-312.pyc +0 -0
  157. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/effect.cpython-312.pyc +0 -0
  158. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/fill.cpython-312.pyc +0 -0
  159. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/geometry.cpython-312.pyc +0 -0
  160. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/graphic.cpython-312.pyc +0 -0
  161. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/image.cpython-312.pyc +0 -0
  162. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/line.cpython-312.pyc +0 -0
  163. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/picture.cpython-312.pyc +0 -0
  164. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/properties.cpython-312.pyc +0 -0
  165. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/relation.cpython-312.pyc +0 -0
  166. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/spreadsheet_drawing.cpython-312.pyc +0 -0
  167. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/text.cpython-312.pyc +0 -0
  168. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/__pycache__/xdr.cpython-312.pyc +0 -0
  169. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/colors.py +435 -0
  170. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/connector.py +144 -0
  171. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/drawing.py +92 -0
  172. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/effect.py +407 -0
  173. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/fill.py +425 -0
  174. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/geometry.py +584 -0
  175. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/graphic.py +177 -0
  176. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/image.py +65 -0
  177. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/line.py +144 -0
  178. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/picture.py +144 -0
  179. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/properties.py +174 -0
  180. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/relation.py +17 -0
  181. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/spreadsheet_drawing.py +381 -0
  182. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/text.py +717 -0
  183. quickinteg-2.8.0/quickinteg/external/openpyxl/drawing/xdr.py +33 -0
  184. quickinteg-2.8.0/quickinteg/external/openpyxl/formatting/__init__.py +3 -0
  185. quickinteg-2.8.0/quickinteg/external/openpyxl/formatting/__pycache__/__init__.cpython-312.pyc +0 -0
  186. quickinteg-2.8.0/quickinteg/external/openpyxl/formatting/__pycache__/formatting.cpython-312.pyc +0 -0
  187. quickinteg-2.8.0/quickinteg/external/openpyxl/formatting/__pycache__/rule.cpython-312.pyc +0 -0
  188. quickinteg-2.8.0/quickinteg/external/openpyxl/formatting/formatting.py +114 -0
  189. quickinteg-2.8.0/quickinteg/external/openpyxl/formatting/rule.py +291 -0
  190. quickinteg-2.8.0/quickinteg/external/openpyxl/formula/__init__.py +3 -0
  191. quickinteg-2.8.0/quickinteg/external/openpyxl/formula/__pycache__/__init__.cpython-312.pyc +0 -0
  192. quickinteg-2.8.0/quickinteg/external/openpyxl/formula/__pycache__/tokenizer.cpython-312.pyc +0 -0
  193. quickinteg-2.8.0/quickinteg/external/openpyxl/formula/__pycache__/translate.cpython-312.pyc +0 -0
  194. quickinteg-2.8.0/quickinteg/external/openpyxl/formula/tokenizer.py +446 -0
  195. quickinteg-2.8.0/quickinteg/external/openpyxl/formula/translate.py +166 -0
  196. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__init__.py +3 -0
  197. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  198. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__pycache__/core.cpython-312.pyc +0 -0
  199. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__pycache__/custom.cpython-312.pyc +0 -0
  200. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__pycache__/extended.cpython-312.pyc +0 -0
  201. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__pycache__/manifest.cpython-312.pyc +0 -0
  202. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__pycache__/relationship.cpython-312.pyc +0 -0
  203. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/__pycache__/workbook.cpython-312.pyc +0 -0
  204. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/core.py +114 -0
  205. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/custom.py +286 -0
  206. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/extended.py +141 -0
  207. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/interface.py +56 -0
  208. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/manifest.py +194 -0
  209. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/relationship.py +171 -0
  210. quickinteg-2.8.0/quickinteg/external/openpyxl/packaging/workbook.py +185 -0
  211. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/__init__.py +1 -0
  212. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/__pycache__/__init__.cpython-312.pyc +0 -0
  213. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/__pycache__/cache.cpython-312.pyc +0 -0
  214. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/__pycache__/fields.cpython-312.pyc +0 -0
  215. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/__pycache__/record.cpython-312.pyc +0 -0
  216. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/__pycache__/table.cpython-312.pyc +0 -0
  217. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/cache.py +1119 -0
  218. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/fields.py +322 -0
  219. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/record.py +111 -0
  220. quickinteg-2.8.0/quickinteg/external/openpyxl/pivot/table.py +1261 -0
  221. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/__init__.py +1 -0
  222. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/__pycache__/__init__.cpython-312.pyc +0 -0
  223. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/__pycache__/drawings.cpython-312.pyc +0 -0
  224. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/__pycache__/excel.cpython-312.pyc +0 -0
  225. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/__pycache__/strings.cpython-312.pyc +0 -0
  226. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/__pycache__/workbook.cpython-312.pyc +0 -0
  227. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/drawings.py +67 -0
  228. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/excel.py +347 -0
  229. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/strings.py +44 -0
  230. quickinteg-2.8.0/quickinteg/external/openpyxl/reader/workbook.py +133 -0
  231. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__init__.py +11 -0
  232. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  233. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/alignment.cpython-312.pyc +0 -0
  234. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/borders.cpython-312.pyc +0 -0
  235. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/builtins.cpython-312.pyc +0 -0
  236. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/cell_style.cpython-312.pyc +0 -0
  237. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/colors.cpython-312.pyc +0 -0
  238. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/differential.cpython-312.pyc +0 -0
  239. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/fills.cpython-312.pyc +0 -0
  240. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/fonts.cpython-312.pyc +0 -0
  241. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/named_styles.cpython-312.pyc +0 -0
  242. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/numbers.cpython-312.pyc +0 -0
  243. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/protection.cpython-312.pyc +0 -0
  244. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/proxy.cpython-312.pyc +0 -0
  245. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/styleable.cpython-312.pyc +0 -0
  246. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/stylesheet.cpython-312.pyc +0 -0
  247. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/__pycache__/table.cpython-312.pyc +0 -0
  248. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/alignment.py +72 -0
  249. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/borders.py +113 -0
  250. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/builtins.py +1397 -0
  251. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/cell_style.py +202 -0
  252. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/colors.py +172 -0
  253. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/differential.py +95 -0
  254. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/fills.py +224 -0
  255. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/fonts.py +113 -0
  256. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/named_styles.py +291 -0
  257. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/numbers.py +200 -0
  258. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/protection.py +17 -0
  259. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/proxy.py +62 -0
  260. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/styleable.py +152 -0
  261. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/stylesheet.py +263 -0
  262. quickinteg-2.8.0/quickinteg/external/openpyxl/styles/table.py +94 -0
  263. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__init__.py +17 -0
  264. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  265. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/bound_dictionary.cpython-312.pyc +0 -0
  266. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/cell.cpython-312.pyc +0 -0
  267. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  268. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/escape.cpython-312.pyc +0 -0
  269. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/exceptions.cpython-312.pyc +0 -0
  270. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/formulas.cpython-312.pyc +0 -0
  271. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/indexed_list.cpython-312.pyc +0 -0
  272. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/protection.cpython-312.pyc +0 -0
  273. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/__pycache__/units.cpython-312.pyc +0 -0
  274. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/bound_dictionary.py +26 -0
  275. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/cell.py +227 -0
  276. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/dataframe.py +87 -0
  277. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/datetime.py +140 -0
  278. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/escape.py +43 -0
  279. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/exceptions.py +34 -0
  280. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/formulas.py +24 -0
  281. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/indexed_list.py +49 -0
  282. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/inference.py +60 -0
  283. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/protection.py +22 -0
  284. quickinteg-2.8.0/quickinteg/external/openpyxl/utils/units.py +108 -0
  285. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__init__.py +4 -0
  286. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/__init__.cpython-312.pyc +0 -0
  287. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/_writer.cpython-312.pyc +0 -0
  288. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/child.cpython-312.pyc +0 -0
  289. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/defined_name.cpython-312.pyc +0 -0
  290. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/external_reference.cpython-312.pyc +0 -0
  291. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/function_group.cpython-312.pyc +0 -0
  292. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/properties.cpython-312.pyc +0 -0
  293. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/protection.cpython-312.pyc +0 -0
  294. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/smart_tags.cpython-312.pyc +0 -0
  295. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/views.cpython-312.pyc +0 -0
  296. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/web.cpython-312.pyc +0 -0
  297. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/__pycache__/workbook.cpython-312.pyc +0 -0
  298. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/_writer.py +197 -0
  299. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/child.py +166 -0
  300. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/defined_name.py +189 -0
  301. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/external_link/__init__.py +3 -0
  302. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/external_link/__pycache__/__init__.cpython-312.pyc +0 -0
  303. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/external_link/__pycache__/external.cpython-312.pyc +0 -0
  304. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/external_link/external.py +190 -0
  305. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/external_reference.py +18 -0
  306. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/function_group.py +36 -0
  307. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/properties.py +151 -0
  308. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/protection.py +163 -0
  309. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/smart_tags.py +56 -0
  310. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/views.py +155 -0
  311. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/web.py +98 -0
  312. quickinteg-2.8.0/quickinteg/external/openpyxl/workbook/workbook.py +438 -0
  313. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__init__.py +1 -0
  314. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/__init__.cpython-312.pyc +0 -0
  315. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/_read_only.cpython-312.pyc +0 -0
  316. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/_reader.cpython-312.pyc +0 -0
  317. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/_write_only.cpython-312.pyc +0 -0
  318. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/_writer.cpython-312.pyc +0 -0
  319. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/cell_range.cpython-312.pyc +0 -0
  320. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/copier.cpython-312.pyc +0 -0
  321. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/datavalidation.cpython-312.pyc +0 -0
  322. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/dimensions.cpython-312.pyc +0 -0
  323. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/drawing.cpython-312.pyc +0 -0
  324. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/filters.cpython-312.pyc +0 -0
  325. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/formula.cpython-312.pyc +0 -0
  326. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/header_footer.cpython-312.pyc +0 -0
  327. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/hyperlink.cpython-312.pyc +0 -0
  328. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/merge.cpython-312.pyc +0 -0
  329. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/page.cpython-312.pyc +0 -0
  330. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/pagebreak.cpython-312.pyc +0 -0
  331. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/print_settings.cpython-312.pyc +0 -0
  332. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/properties.cpython-312.pyc +0 -0
  333. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/protection.cpython-312.pyc +0 -0
  334. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/related.cpython-312.pyc +0 -0
  335. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/scenario.cpython-312.pyc +0 -0
  336. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/table.cpython-312.pyc +0 -0
  337. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/views.cpython-312.pyc +0 -0
  338. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/__pycache__/worksheet.cpython-312.pyc +0 -0
  339. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/_read_only.py +188 -0
  340. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/_reader.py +472 -0
  341. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/_write_only.py +160 -0
  342. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/_writer.py +390 -0
  343. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/cell_range.py +512 -0
  344. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/cell_watch.py +34 -0
  345. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/controls.py +107 -0
  346. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/copier.py +70 -0
  347. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/custom.py +35 -0
  348. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/datavalidation.py +202 -0
  349. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/dimensions.py +296 -0
  350. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/drawing.py +14 -0
  351. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/errors.py +93 -0
  352. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/filters.py +387 -0
  353. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/formula.py +51 -0
  354. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/header_footer.py +270 -0
  355. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/hyperlink.py +61 -0
  356. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/merge.py +141 -0
  357. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/ole.py +133 -0
  358. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/page.py +174 -0
  359. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/pagebreak.py +94 -0
  360. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/picture.py +8 -0
  361. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/print_settings.py +184 -0
  362. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/properties.py +97 -0
  363. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/protection.py +120 -0
  364. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/related.py +17 -0
  365. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/scenario.py +105 -0
  366. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/smart_tag.py +78 -0
  367. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/table.py +385 -0
  368. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/views.py +149 -0
  369. quickinteg-2.8.0/quickinteg/external/openpyxl/worksheet/worksheet.py +904 -0
  370. quickinteg-2.8.0/quickinteg/external/openpyxl/writer/__init__.py +1 -0
  371. quickinteg-2.8.0/quickinteg/external/openpyxl/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  372. quickinteg-2.8.0/quickinteg/external/openpyxl/writer/__pycache__/excel.cpython-312.pyc +0 -0
  373. quickinteg-2.8.0/quickinteg/external/openpyxl/writer/__pycache__/theme.cpython-312.pyc +0 -0
  374. quickinteg-2.8.0/quickinteg/external/openpyxl/writer/excel.py +295 -0
  375. quickinteg-2.8.0/quickinteg/external/openpyxl/writer/theme.py +291 -0
  376. quickinteg-2.8.0/quickinteg/external/openpyxl/xml/__init__.py +42 -0
  377. quickinteg-2.8.0/quickinteg/external/openpyxl/xml/__pycache__/__init__.cpython-312.pyc +0 -0
  378. quickinteg-2.8.0/quickinteg/external/openpyxl/xml/__pycache__/constants.cpython-312.pyc +0 -0
  379. quickinteg-2.8.0/quickinteg/external/openpyxl/xml/__pycache__/functions.cpython-312.pyc +0 -0
  380. quickinteg-2.8.0/quickinteg/external/openpyxl/xml/constants.py +129 -0
  381. quickinteg-2.8.0/quickinteg/external/openpyxl/xml/functions.py +87 -0
  382. quickinteg-2.8.0/quickinteg/external/openpyxl-3.1.2.dist-info/INSTALLER +1 -0
  383. quickinteg-2.8.0/quickinteg/external/openpyxl-3.1.2.dist-info/LICENCE.rst +23 -0
  384. quickinteg-2.8.0/quickinteg/external/openpyxl-3.1.2.dist-info/METADATA +86 -0
  385. quickinteg-2.8.0/quickinteg/external/openpyxl-3.1.2.dist-info/RECORD +196 -0
  386. quickinteg-2.8.0/quickinteg/external/openpyxl-3.1.2.dist-info/REQUESTED +0 -0
  387. quickinteg-2.8.0/quickinteg/external/openpyxl-3.1.2.dist-info/WHEEL +6 -0
  388. quickinteg-2.8.0/quickinteg/external/openpyxl-3.1.2.dist-info/top_level.txt +1 -0
  389. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__init__.py +7 -0
  390. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/__init__.cpython-312.pyc +0 -0
  391. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/__init__.cpython-314.pyc +0 -0
  392. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/app.cpython-312.pyc +0 -0
  393. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/app.cpython-314.pyc +0 -0
  394. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart.cpython-312.pyc +0 -0
  395. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart.cpython-314.pyc +0 -0
  396. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_area.cpython-312.pyc +0 -0
  397. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_area.cpython-314.pyc +0 -0
  398. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_bar.cpython-312.pyc +0 -0
  399. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_bar.cpython-314.pyc +0 -0
  400. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_column.cpython-312.pyc +0 -0
  401. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_column.cpython-314.pyc +0 -0
  402. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_doughnut.cpython-312.pyc +0 -0
  403. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_doughnut.cpython-314.pyc +0 -0
  404. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_line.cpython-312.pyc +0 -0
  405. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_line.cpython-314.pyc +0 -0
  406. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_pie.cpython-312.pyc +0 -0
  407. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_pie.cpython-314.pyc +0 -0
  408. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_radar.cpython-312.pyc +0 -0
  409. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_radar.cpython-314.pyc +0 -0
  410. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_scatter.cpython-312.pyc +0 -0
  411. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_scatter.cpython-314.pyc +0 -0
  412. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_stock.cpython-312.pyc +0 -0
  413. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chart_stock.cpython-314.pyc +0 -0
  414. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chartsheet.cpython-312.pyc +0 -0
  415. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/chartsheet.cpython-314.pyc +0 -0
  416. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/comments.cpython-312.pyc +0 -0
  417. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/comments.cpython-314.pyc +0 -0
  418. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/contenttypes.cpython-312.pyc +0 -0
  419. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/contenttypes.cpython-314.pyc +0 -0
  420. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/core.cpython-312.pyc +0 -0
  421. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/core.cpython-314.pyc +0 -0
  422. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/custom.cpython-312.pyc +0 -0
  423. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/custom.cpython-314.pyc +0 -0
  424. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/drawing.cpython-312.pyc +0 -0
  425. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/drawing.cpython-314.pyc +0 -0
  426. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/exceptions.cpython-312.pyc +0 -0
  427. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/exceptions.cpython-314.pyc +0 -0
  428. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/format.cpython-312.pyc +0 -0
  429. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/format.cpython-314.pyc +0 -0
  430. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/metadata.cpython-312.pyc +0 -0
  431. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/metadata.cpython-314.pyc +0 -0
  432. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/packager.cpython-312.pyc +0 -0
  433. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/packager.cpython-314.pyc +0 -0
  434. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/relationships.cpython-312.pyc +0 -0
  435. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/relationships.cpython-314.pyc +0 -0
  436. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/shape.cpython-312.pyc +0 -0
  437. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/shape.cpython-314.pyc +0 -0
  438. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/sharedstrings.cpython-312.pyc +0 -0
  439. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/sharedstrings.cpython-314.pyc +0 -0
  440. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/styles.cpython-312.pyc +0 -0
  441. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/styles.cpython-314.pyc +0 -0
  442. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/table.cpython-312.pyc +0 -0
  443. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/table.cpython-314.pyc +0 -0
  444. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/theme.cpython-312.pyc +0 -0
  445. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/theme.cpython-314.pyc +0 -0
  446. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/utility.cpython-312.pyc +0 -0
  447. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/utility.cpython-314.pyc +0 -0
  448. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/vml.cpython-312.pyc +0 -0
  449. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/vml.cpython-314.pyc +0 -0
  450. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/workbook.cpython-312.pyc +0 -0
  451. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/workbook.cpython-314.pyc +0 -0
  452. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/worksheet.cpython-312.pyc +0 -0
  453. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/worksheet.cpython-314.pyc +0 -0
  454. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/xmlwriter.cpython-312.pyc +0 -0
  455. quickinteg-2.8.0/quickinteg/external/xlsxwriter/__pycache__/xmlwriter.cpython-314.pyc +0 -0
  456. quickinteg-2.8.0/quickinteg/external/xlsxwriter/app.py +198 -0
  457. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart.py +4386 -0
  458. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_area.py +101 -0
  459. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_bar.py +173 -0
  460. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_column.py +132 -0
  461. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_doughnut.py +99 -0
  462. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_line.py +143 -0
  463. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_pie.py +260 -0
  464. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_radar.py +102 -0
  465. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_scatter.py +333 -0
  466. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chart_stock.py +124 -0
  467. quickinteg-2.8.0/quickinteg/external/xlsxwriter/chartsheet.py +196 -0
  468. quickinteg-2.8.0/quickinteg/external/xlsxwriter/comments.py +209 -0
  469. quickinteg-2.8.0/quickinteg/external/xlsxwriter/contenttypes.py +231 -0
  470. quickinteg-2.8.0/quickinteg/external/xlsxwriter/core.py +205 -0
  471. quickinteg-2.8.0/quickinteg/external/xlsxwriter/custom.py +141 -0
  472. quickinteg-2.8.0/quickinteg/external/xlsxwriter/drawing.py +1204 -0
  473. quickinteg-2.8.0/quickinteg/external/xlsxwriter/exceptions.py +55 -0
  474. quickinteg-2.8.0/quickinteg/external/xlsxwriter/format.py +1030 -0
  475. quickinteg-2.8.0/quickinteg/external/xlsxwriter/metadata.py +170 -0
  476. quickinteg-2.8.0/quickinteg/external/xlsxwriter/packager.py +774 -0
  477. quickinteg-2.8.0/quickinteg/external/xlsxwriter/relationships.py +115 -0
  478. quickinteg-2.8.0/quickinteg/external/xlsxwriter/shape.py +414 -0
  479. quickinteg-2.8.0/quickinteg/external/xlsxwriter/sharedstrings.py +158 -0
  480. quickinteg-2.8.0/quickinteg/external/xlsxwriter/styles.py +754 -0
  481. quickinteg-2.8.0/quickinteg/external/xlsxwriter/table.py +193 -0
  482. quickinteg-2.8.0/quickinteg/external/xlsxwriter/theme.py +66 -0
  483. quickinteg-2.8.0/quickinteg/external/xlsxwriter/utility.py +875 -0
  484. quickinteg-2.8.0/quickinteg/external/xlsxwriter/vml.py +720 -0
  485. quickinteg-2.8.0/quickinteg/external/xlsxwriter/workbook.py +1999 -0
  486. quickinteg-2.8.0/quickinteg/external/xlsxwriter/worksheet.py +8408 -0
  487. quickinteg-2.8.0/quickinteg/external/xlsxwriter/xmlwriter.py +206 -0
  488. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/mcd_check.py +32 -61
  489. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/processing_logging.py +2 -4
  490. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/rop_grace.py +10 -10
  491. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/spatialiteio.py +315 -100
  492. {quickinteg-2.5.0 → quickinteg-2.8.0/quickinteg.egg-info}/PKG-INFO +1 -1
  493. quickinteg-2.8.0/quickinteg.egg-info/SOURCES.txt +502 -0
  494. quickinteg-2.5.0/quickinteg.egg-info/SOURCES.txt +0 -20
  495. {quickinteg-2.5.0 → quickinteg-2.8.0}/LICENSE +0 -0
  496. {quickinteg-2.5.0 → quickinteg-2.8.0}/README.md +0 -0
  497. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/__init__.py +0 -0
  498. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg/cfg_reader.py +0 -0
  499. /quickinteg-2.5.0/quickinteg/external/__init__.py → /quickinteg-2.8.0/quickinteg/external/XlsxWriter-3.1.9.dist-info/REQUESTED +0 -0
  500. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg.egg-info/dependency_links.txt +0 -0
  501. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg.egg-info/entry_points.txt +0 -0
  502. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg.egg-info/requires.txt +0 -0
  503. {quickinteg-2.5.0 → quickinteg-2.8.0}/quickinteg.egg-info/top_level.txt +0 -0
  504. {quickinteg-2.5.0 → quickinteg-2.8.0}/setup.cfg +0 -0
  505. {quickinteg-2.5.0 → quickinteg-2.8.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quickinteg
3
- Version: 2.5.0
3
+ Version: 2.8.0
4
4
  Summary: Scripts QGIS Processing pour l'intégration rapide des données.
5
5
  Author: Valérian LEBERT
6
6
  License: GPL-3.0-or-later
@@ -56,12 +56,12 @@ quickinteg = ["external/**/*"]
56
56
 
57
57
  # --- Ruff (remplace black, flake8, isort) ---
58
58
  [tool.ruff]
59
- line-length = 100
59
+ line-length = 160
60
60
  target-version = "py39"
61
61
 
62
62
  [tool.ruff.lint]
63
63
  select = ["E", "F", "I", "UP"]
64
- ignore = []
64
+ ignore = ["UP031", "UP022", "E722", "E402"]
65
65
 
66
66
  # --- Basedpyright (type checking) ---
67
67
  [tool.basedpyright]
@@ -28,7 +28,5 @@ __title__ = "QuickInteg"
28
28
  __title_clean__ = "".join(e for e in __title__ if e.isalnum())
29
29
  __uri__ = "https://gitlab.com/vlebert/quickinteg/"
30
30
 
31
- __version__ = "2.5.0"
32
- __version_info__ = tuple(
33
- [int(num) if num.isdigit() else num for num in __version__.replace("-", ".", 1).split(".")]
34
- )
31
+ __version__ = "2.8.0"
32
+ __version_info__ = tuple([int(num) if num.isdigit() else num for num in __version__.replace("-", ".", 1).split(".")])
@@ -53,7 +53,7 @@ def quickinteg_import():
53
53
  Alias : qi-import
54
54
  """
55
55
  parser = argparse.ArgumentParser()
56
- parser.add_argument("source", help="Chemin vers le repertoir à intégrer")
56
+ parser.add_argument("source", help="Chemin vers le dossier à intégrer ou fichier GPKG")
57
57
  parser.add_argument("-c", "--no-csv", help="Exclure les fichiers CSV", action="store_true")
58
58
  parser.add_argument(
59
59
  "-d",
@@ -74,23 +74,41 @@ def quickinteg_import():
74
74
  help="Mode récursif (parcours les sous-dossiers).",
75
75
  action="store_true",
76
76
  )
77
+
77
78
  args = parser.parse_args()
78
79
  processing_logging.add_console_handler(logging.getLogger(""))
79
80
 
81
+ # Auto-detect if source is a GPKG file or folder
82
+ source_path = Path(args.source)
83
+ is_gpkg = source_path.suffix.lower() == ".gpkg"
84
+
80
85
  if args.destination:
81
86
  log_file = Path(args.destination).parent / "log_integ.txt"
87
+ elif is_gpkg:
88
+ log_file = Path(args.source).parent / "log_integ.txt"
82
89
  else:
83
90
  log_file = Path(args.source) / "log_integ.txt"
84
91
  processing_logging.add_file_handler(logging.getLogger(""), log_file, logging.DEBUG)
85
92
 
86
- spatialiteio.import_folder_to_spl(
87
- args.source,
88
- ogr_target=args.destination,
89
- prefix=args.prefix,
90
- include_csv=(not args.no_csv),
91
- ignore_grace_list=True,
92
- recursive=args.recursive,
93
- )
93
+ if is_gpkg:
94
+ # Direct GPKG import
95
+ processing_logging.log("Import direct d'un fichier GPKG", logging.getLogger(""), "info")
96
+ spatialiteio.import_gpkg_to_spl(
97
+ args.source,
98
+ ogr_target=args.destination,
99
+ prefix=args.prefix,
100
+ ignore_grace_list=True,
101
+ )
102
+ else:
103
+ # Folder import (which can also contain GPKG files)
104
+ spatialiteio.import_folder_to_spl(
105
+ args.source,
106
+ ogr_target=args.destination,
107
+ prefix=args.prefix,
108
+ include_csv=(not args.no_csv),
109
+ ignore_grace_list=True,
110
+ recursive=args.recursive,
111
+ )
94
112
  if args.export:
95
113
  spatialiteio.export_preset_tables(args.destination)
96
114
 
@@ -101,9 +119,7 @@ def quickinteg_rop():
101
119
  """
102
120
  parser = argparse.ArgumentParser()
103
121
  parser.add_argument("db_file", help="Base de donnée Quickinteg")
104
- parser.add_argument(
105
- "-v", "--version", help="Version GRACE THD (2 ou 3, 3 par défaut)", default=3
106
- )
122
+ parser.add_argument("-v", "--version", help="Version GRACE THD (2 ou 3, 3 par défaut)", default=3)
107
123
  parser.add_argument(
108
124
  "-m",
109
125
  "--mode",
@@ -26,9 +26,9 @@ import logging
26
26
 
27
27
  # 3rd party - try embedded first (for QGIS), fallback to normal import (for CLI)
28
28
  try:
29
- from .external import openpyxl
29
+ from .external import openpyxl # type: ignore
30
30
  except ImportError:
31
- import openpyxl
31
+ import openpyxl # type: ignore
32
32
 
33
33
  # package
34
34
  from . import processing_logging
@@ -56,9 +56,7 @@ def log(message: str, logLevel: str = "info"):
56
56
  processing_logging.log(message, module_logger, logLevel)
57
57
 
58
58
 
59
- def read_sheet_to_dict(
60
- excel_file_path, list_necessary_columns, primary_key=None, excel_sheet_name=None
61
- ):
59
+ def read_sheet_to_dict(excel_file_path, list_necessary_columns, primary_key=None, excel_sheet_name=None):
62
60
  """
63
61
  Lecture d'un fichier excel vert un dict de dict.
64
62
  Chaque ligne est un dict avec comme clés les en-têtes de colones.
@@ -90,6 +88,9 @@ def read_sheet_to_dict(
90
88
  wb = openpyxl.load_workbook(excel_file_path, data_only=True)
91
89
  sheet = wb[excel_sheet_name] if excel_sheet_name else wb.active
92
90
 
91
+ if sheet is None:
92
+ raise ValueError("No active sheet found in the Excel workbook")
93
+
93
94
  rows = sheet.iter_rows(values_only=True)
94
95
  headers = next(rows) # Get the first row with column names
95
96
  header_set = set(headers)
@@ -97,9 +98,7 @@ def read_sheet_to_dict(
97
98
  necessary_columns_set = set(list_necessary_columns)
98
99
  if not necessary_columns_set.issubset(header_set):
99
100
  missing_columns = necessary_columns_set - header_set
100
- raise ValueError(
101
- f"The necessary columns {missing_columns} were not found in the Excel sheet"
102
- )
101
+ raise ValueError(f"The necessary columns {missing_columns} were not found in the Excel sheet")
103
102
 
104
103
  header_index = {header: headers.index(header) for header in list_necessary_columns}
105
104
 
@@ -0,0 +1,25 @@
1
+ BSD 2-Clause License
2
+
3
+ Copyright (c) 2013-2023, John McNamara <jmcnamara@cpan.org>
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,89 @@
1
+ Metadata-Version: 2.1
2
+ Name: XlsxWriter
3
+ Version: 3.1.9
4
+ Summary: A Python module for creating Excel XLSX files.
5
+ Home-page: https://github.com/jmcnamara/XlsxWriter
6
+ Author: John McNamara
7
+ Author-email: jmcnamara@cpan.org
8
+ License: BSD-2-Clause
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: License :: OSI Approved :: BSD License
11
+ Classifier: Programming Language :: Python
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.6
15
+ Classifier: Programming Language :: Python :: 3.7
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Requires-Python: >=3.6
22
+ License-File: LICENSE.txt
23
+
24
+ XlsxWriter
25
+ ==========
26
+
27
+ **XlsxWriter** is a Python module for writing files in the Excel 2007+ XLSX
28
+ file format.
29
+
30
+ XlsxWriter can be used to write text, numbers, formulas and hyperlinks to
31
+ multiple worksheets and it supports features such as formatting and many more,
32
+ including:
33
+
34
+ * 100% compatible Excel XLSX files.
35
+ * Full formatting.
36
+ * Merged cells.
37
+ * Defined names.
38
+ * Charts.
39
+ * Autofilters.
40
+ * Data validation and drop down lists.
41
+ * Conditional formatting.
42
+ * Worksheet PNG/JPEG/GIF/BMP/WMF/EMF images.
43
+ * Rich multi-format strings.
44
+ * Cell comments.
45
+ * Integration with Pandas and Polars.
46
+ * Textboxes.
47
+ * Support for adding Macros.
48
+ * Memory optimization mode for writing large files.
49
+
50
+ It supports Python 3.4+ and PyPy3 and uses standard libraries only.
51
+
52
+ Here is a simple example:
53
+
54
+ .. code-block:: python
55
+
56
+ import xlsxwriter
57
+
58
+
59
+ # Create an new Excel file and add a worksheet.
60
+ workbook = xlsxwriter.Workbook('demo.xlsx')
61
+ worksheet = workbook.add_worksheet()
62
+
63
+ # Widen the first column to make the text clearer.
64
+ worksheet.set_column('A:A', 20)
65
+
66
+ # Add a bold format to use to highlight cells.
67
+ bold = workbook.add_format({'bold': True})
68
+
69
+ # Write some simple text.
70
+ worksheet.write('A1', 'Hello')
71
+
72
+ # Text with formatting.
73
+ worksheet.write('A2', 'World', bold)
74
+
75
+ # Write some numbers, with row/column notation.
76
+ worksheet.write(2, 0, 123)
77
+ worksheet.write(3, 0, 123.456)
78
+
79
+ # Insert an image.
80
+ worksheet.insert_image('B5', 'logo.png')
81
+
82
+ workbook.close()
83
+
84
+ .. image:: https://raw.github.com/jmcnamara/XlsxWriter/master/dev/docs/source/_images/demo.png
85
+
86
+ See the full documentation at: https://xlsxwriter.readthedocs.io
87
+
88
+ Release notes: https://xlsxwriter.readthedocs.io/changes.html
89
+
@@ -0,0 +1,41 @@
1
+ XlsxWriter-3.1.9.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
2
+ XlsxWriter-3.1.9.dist-info/LICENSE.txt,sha256=s7SUx-dFba0SrBs-YcYOhQ1g086GX6BWxM4K5oDANnc,1349
3
+ XlsxWriter-3.1.9.dist-info/METADATA,sha256=G4jA0at0iwYM-mYfTCGrJauIckhzZyfjCohiqnZsyjw,2605
4
+ XlsxWriter-3.1.9.dist-info/RECORD,,
5
+ XlsxWriter-3.1.9.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ XlsxWriter-3.1.9.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
7
+ XlsxWriter-3.1.9.dist-info/top_level.txt,sha256=xFEUcpcY7QzAr_-ztkXebEt1FZCxpuCbmyCsBaevhRk,11
8
+ bin/vba_extract.py,sha256=8T2-KE4ybgM5FRIT3DAqpLUsnp09_lpTI2H6izwL6UI,2363
9
+ xlsxwriter/__init__.py,sha256=XY1Ui-gKJHKbrOCvEM3Tasme1ypd2fLNTliBS94fhoM,188
10
+ xlsxwriter/app.py,sha256=IyZO4nAFO5DgYdOKgyGkqTgA8_E1DCyEUdcnNn9ruhw,5823
11
+ xlsxwriter/chart.py,sha256=1OsUMYpNWTXAWs0RLdgcQWsR8njqCw2Gwna5AQEzHu4,129910
12
+ xlsxwriter/chart_area.py,sha256=UfbG_WCQMZuUtMz-0IWoZbjyyr78A5zfB05keo01OGs,2676
13
+ xlsxwriter/chart_bar.py,sha256=QLJDAZRLN90FttiwDspq2Bav8JsmvTUl-YqYKFctFcw,4828
14
+ xlsxwriter/chart_column.py,sha256=WtwgL67_5-eGymVGY8BS9oGwf9NfxL3sgR5nUIr3HIc,3579
15
+ xlsxwriter/chart_doughnut.py,sha256=mF2VSJd-kEJWBvCGWpNJcGNxTwOlA_0ebGdco6_mM9Y,2690
16
+ xlsxwriter/chart_line.py,sha256=nwH5SO15bPMiHXYAYR0r89kRhHbtqlZNfTgBjjeKIoU,3757
17
+ xlsxwriter/chart_pie.py,sha256=5G2cidb2TjxWBkw0GvqjLQx0ckXkibQOZX-sLFr1Xe4,7402
18
+ xlsxwriter/chart_radar.py,sha256=pDCA4UMNqDMv1osNjS1Fxkn8y64cADf5p4QRuteYAhI,2739
19
+ xlsxwriter/chart_scatter.py,sha256=2PEoXQb4saXg0EGhLqiKr7Ywx5AE9Y5IXENZWjDGV0A,9488
20
+ xlsxwriter/chart_stock.py,sha256=DEfp3z6tgPgN8sxQZT9tCnRoWWXhx7lFcJN1tRDEBPI,3524
21
+ xlsxwriter/chartsheet.py,sha256=U9uLjqWwnVet5FXc2C3Vh5K1t9giUOi9XGHnhF-EXUc,5468
22
+ xlsxwriter/comments.py,sha256=5TDtd1Lna6b73VaOXxe5-aaBherzq3NlzaY7Fnc2LB0,5598
23
+ xlsxwriter/contenttypes.py,sha256=uQPBUkJ10M8AYeo2Onsxk24pERIln6kHRT8ZFsqFWso,7559
24
+ xlsxwriter/core.py,sha256=oBlObKPWQm6tCqmRMXulUIrAfmK8daUMJjPXuP-FOks,5693
25
+ xlsxwriter/custom.py,sha256=kKZeN_fCWXzhaTJTPNm4TshkPsRd0EPwNFt8uaKrP4I,3829
26
+ xlsxwriter/drawing.py,sha256=cZowp8iisUW_TeYAl8he7KYYMd3lWl1DGQPWJiGbv7Y,35058
27
+ xlsxwriter/exceptions.py,sha256=0ajRMYlTlqKZwXz8oIkV02Ho1SpQsQWX4XNghxdT_Kk,1394
28
+ xlsxwriter/format.py,sha256=o3Bd8RtQm00OvuQdTOCnOljk_gzxuXcNCzV9dIyvwyo,26767
29
+ xlsxwriter/metadata.py,sha256=VEZzY6SrKMVG2--9sBIWZ8_Qu-aX1XoTVGyaYtVw4_I,4522
30
+ xlsxwriter/packager.py,sha256=GIttn1Yu0hK9f_N3hRZOC1vEnwKBrvGXUkY8c_ZU5n8,25872
31
+ xlsxwriter/relationships.py,sha256=epB-fg5_3XOddV9NMGdf4Ydvy1DdfgcEcaiqeKRKQ_8,3274
32
+ xlsxwriter/shape.py,sha256=JmTBe1OGY4OwTgm7cGpI-9K0AXA2zSZjaQT2zilenls,12830
33
+ xlsxwriter/sharedstrings.py,sha256=ja61sulwo_FYl6_1QwtM0Hk6PZ1NYzAxbxiStnnSuxo,4731
34
+ xlsxwriter/styles.py,sha256=c3CZ56BztLYLprdBFDLMpnWO2WpP3Ka3kilUO5dA_7c,23162
35
+ xlsxwriter/table.py,sha256=bJDGlAdtrxMIIA98BEAlkRipfvYB9xpp0ZaF007WEJQ,5843
36
+ xlsxwriter/theme.py,sha256=PE22WMb6y1QXu9rE9fDv-ay8PYOLxO_tmGPHsUuHrc4,8844
37
+ xlsxwriter/utility.py,sha256=w4QF9QyBfmAPrhpbBgdB4JRgJFBWpRbivkQ_Tgpu3Iw,28447
38
+ xlsxwriter/vml.py,sha256=Rf-dhI1hkRuOLP0aQs0KWWMU2MWUtRMgoiX82J-qJ1g,19651
39
+ xlsxwriter/workbook.py,sha256=0Of1rPZI_TQoKKjVu6806dtS3kNEuqxjLKz4uaPOqgM,65911
40
+ xlsxwriter/worksheet.py,sha256=Gn-uHJ-kbgxvmWIeYyc1RN7apFDEyqfGjJ8mvP6GEt8,285655
41
+ xlsxwriter/xmlwriter.py,sha256=wuxTQAIKuLY-XpPzDRiDRGeLY6GUxIti-igfbMwm74w,6723
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: bdist_wheel (0.41.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
File without changes
@@ -0,0 +1,78 @@
1
+ #!/Users/vlebert/Python/quickinteg/.venv/bin/python3
2
+
3
+ ##############################################################################
4
+ #
5
+ # vba_extract - A simple utility to extract a vbaProject.bin binary from an
6
+ # Excel 2007+ xlsm file for insertion into an XlsxWriter file.
7
+ #
8
+ # SPDX-License-Identifier: BSD-2-Clause
9
+ # Copyright 2013-2023, John McNamara, jmcnamara@cpan.org
10
+ #
11
+ import sys
12
+ from zipfile import ZipFile
13
+ from zipfile import BadZipFile
14
+
15
+
16
+ def extract_file(xlsm_zip, filename):
17
+ # Extract a single file from an Excel xlsm macro file.
18
+ data = xlsm_zip.read("xl/" + filename)
19
+
20
+ # Write the data to a local file.
21
+ file = open(filename, "wb")
22
+ file.write(data)
23
+ file.close()
24
+
25
+
26
+ # The VBA project file and project signature file we want to extract.
27
+ vba_filename = "vbaProject.bin"
28
+ vba_signature_filename = "vbaProjectSignature.bin"
29
+
30
+ # Get the xlsm file name from the commandline.
31
+ if len(sys.argv) > 1:
32
+ xlsm_file = sys.argv[1]
33
+ else:
34
+ print(
35
+ "\nUtility to extract a vbaProject.bin binary from an Excel 2007+ "
36
+ "xlsm macro file for insertion into an XlsxWriter file.\n"
37
+ "If the macros are digitally signed, extracts also a vbaProjectSignature.bin "
38
+ "file.\n"
39
+ "\n"
40
+ "See: https://xlsxwriter.readthedocs.io/working_with_macros.html\n"
41
+ "\n"
42
+ "Usage: vba_extract file.xlsm\n"
43
+ )
44
+ exit()
45
+
46
+ try:
47
+ # Open the Excel xlsm file as a zip file.
48
+ xlsm_zip = ZipFile(xlsm_file, "r")
49
+
50
+ # Read the xl/vbaProject.bin file.
51
+ extract_file(xlsm_zip, vba_filename)
52
+ print("Extracted: %s" % vba_filename)
53
+
54
+ if "xl/" + vba_signature_filename in xlsm_zip.namelist():
55
+ extract_file(xlsm_zip, vba_signature_filename)
56
+ print("Extracted: %s" % vba_signature_filename)
57
+
58
+
59
+ except IOError as e:
60
+ print("File error: %s" % str(e))
61
+ exit()
62
+
63
+ except KeyError as e:
64
+ # Usually when there isn't a xl/vbaProject.bin member in the file.
65
+ print("File error: %s" % str(e))
66
+ print("File may not be an Excel xlsm macro file: '%s'" % xlsm_file)
67
+ exit()
68
+
69
+ except BadZipFile as e:
70
+ # Usually if the file is an xls file and not an xlsm file.
71
+ print("File error: %s: '%s'" % (str(e), xlsm_file))
72
+ print("File may not be an Excel xlsm macro file.")
73
+ exit()
74
+
75
+ except Exception as e:
76
+ # Catch any other exceptions.
77
+ print("File error: %s" % str(e))
78
+ exit()
@@ -0,0 +1,19 @@
1
+ # Copyright (c) 2010-2023 openpyxl
2
+
3
+ DEBUG = False
4
+
5
+ from openpyxl.compat.numbers import NUMPY
6
+ from openpyxl.xml import DEFUSEDXML, LXML
7
+ from openpyxl.workbook import Workbook
8
+ from openpyxl.reader.excel import load_workbook as open
9
+ from openpyxl.reader.excel import load_workbook
10
+ import openpyxl._constants as constants
11
+
12
+ # Expose constants especially the version number
13
+
14
+ __author__ = constants.__author__
15
+ __author_email__ = constants.__author_email__
16
+ __license__ = constants.__license__
17
+ __maintainer_email__ = constants.__maintainer_email__
18
+ __url__ = constants.__url__
19
+ __version__ = constants.__version__
@@ -0,0 +1,13 @@
1
+ # Copyright (c) 2010-2023 openpyxl
2
+
3
+ """
4
+ Package metadata
5
+ """
6
+
7
+ __author__ = "See AUTHORS"
8
+ __author_email__ = "charlie.clark@clark-consulting.eu"
9
+ __license__ = "MIT"
10
+ __maintainer_email__ = "openpyxl-users@googlegroups.com"
11
+ __url__ = "https://openpyxl.readthedocs.io"
12
+ __version__ = "3.1.2"
13
+ __python__ = "3.6"
@@ -0,0 +1,4 @@
1
+ # Copyright (c) 2010-2023 openpyxl
2
+
3
+ from .cell import Cell, WriteOnlyCell, MergedCell
4
+ from .read_only import ReadOnlyCell
@@ -0,0 +1,158 @@
1
+ # Copyright (c) 2010-2023 openpyxl
2
+
3
+ from openpyxl.compat import safe_string
4
+ from openpyxl.xml.functions import Element, SubElement, whitespace, XML_NS, REL_NS
5
+ from openpyxl import LXML
6
+ from openpyxl.utils.datetime import to_excel, to_ISO8601
7
+ from datetime import timedelta
8
+
9
+ from openpyxl.worksheet.formula import DataTableFormula, ArrayFormula
10
+ from openpyxl.cell.rich_text import TextBlock
11
+
12
+ def _set_attributes(cell, styled=None):
13
+ """
14
+ Set coordinate and datatype
15
+ """
16
+ coordinate = cell.coordinate
17
+ attrs = {'r': coordinate}
18
+ if styled:
19
+ attrs['s'] = f"{cell.style_id}"
20
+
21
+ if cell.data_type == "s":
22
+ attrs['t'] = "inlineStr"
23
+ elif cell.data_type != 'f':
24
+ attrs['t'] = cell.data_type
25
+
26
+ value = cell._value
27
+
28
+ if cell.data_type == "d":
29
+ if hasattr(value, "tzinfo") and value.tzinfo is not None:
30
+ raise TypeError("Excel does not support timezones in datetimes. "
31
+ "The tzinfo in the datetime/time object must be set to None.")
32
+
33
+ if cell.parent.parent.iso_dates and not isinstance(value, timedelta):
34
+ value = to_ISO8601(value)
35
+ else:
36
+ attrs['t'] = "n"
37
+ value = to_excel(value, cell.parent.parent.epoch)
38
+
39
+ if cell.hyperlink:
40
+ cell.parent._hyperlinks.append(cell.hyperlink)
41
+
42
+ return value, attrs
43
+
44
+
45
+ def etree_write_cell(xf, worksheet, cell, styled=None):
46
+
47
+ value, attributes = _set_attributes(cell, styled)
48
+
49
+ el = Element("c", attributes)
50
+ if value is None or value == "":
51
+ xf.write(el)
52
+ return
53
+
54
+ if cell.data_type == 'f':
55
+ attrib = {}
56
+
57
+ if isinstance(value, ArrayFormula):
58
+ attrib = dict(value)
59
+ value = value.text
60
+
61
+ elif isinstance(value, DataTableFormula):
62
+ attrib = dict(value)
63
+ value = None
64
+
65
+ formula = SubElement(el, 'f', attrib)
66
+ if value is not None and not attrib.get('t') == "dataTable":
67
+ formula.text = value[1:]
68
+ value = None
69
+
70
+ if cell.data_type == 's':
71
+ inline_string = SubElement(el, 'is')
72
+ if isinstance(value, str):
73
+ text = SubElement(inline_string, 't')
74
+ text.text = value
75
+ whitespace(text)
76
+ else:
77
+ for r in value:
78
+ se = SubElement(inline_string, 'r')
79
+ if isinstance(r, TextBlock):
80
+ se2 = SubElement(se, 'rPr')
81
+ se2.append(r.font.to_tree())
82
+ text = r.name
83
+ else:
84
+ text = r
85
+ text = SubElement(se, 't')
86
+ text.text = text
87
+ whitespace(text)
88
+
89
+
90
+
91
+ else:
92
+ cell_content = SubElement(el, 'v')
93
+ if value is not None:
94
+ cell_content.text = safe_string(value)
95
+
96
+ xf.write(el)
97
+
98
+
99
+ def lxml_write_cell(xf, worksheet, cell, styled=False):
100
+ value, attributes = _set_attributes(cell, styled)
101
+
102
+ if value == '' or value is None:
103
+ with xf.element("c", attributes):
104
+ return
105
+
106
+ with xf.element('c', attributes):
107
+ if cell.data_type == 'f':
108
+ attrib = {}
109
+
110
+ if isinstance(value, ArrayFormula):
111
+ attrib = dict(value)
112
+ value = value.text
113
+
114
+ elif isinstance(value, DataTableFormula):
115
+ attrib = dict(value)
116
+ value = None
117
+
118
+ with xf.element('f', attrib):
119
+ if value is not None and not attrib.get('t') == "dataTable":
120
+ xf.write(value[1:])
121
+ value = None
122
+
123
+ if cell.data_type == 's':
124
+ with xf.element("is"):
125
+ if isinstance(value, str):
126
+ attrs = {}
127
+ if value != value.strip():
128
+ attrs["{%s}space" % XML_NS] = "preserve"
129
+ el = Element("t", attrs) # lxml can't handle xml-ns
130
+ el.text = value
131
+ xf.write(el)
132
+ #with xf.element("t", attrs):
133
+ #xf.write(value)
134
+ else:
135
+ for r in value:
136
+ with xf.element("r"):
137
+ if isinstance(r, TextBlock):
138
+ xf.write(r.font.to_tree(tagname='rPr'))
139
+ value = r.text
140
+ else:
141
+ value = r
142
+ attrs = {}
143
+ if value != value.strip():
144
+ attrs["{%s}space" % XML_NS] = "preserve"
145
+ el = Element("t", attrs) # lxml can't handle xml-ns
146
+ el.text = value
147
+ xf.write(el)
148
+
149
+ else:
150
+ with xf.element("v"):
151
+ if value is not None:
152
+ xf.write(safe_string(value))
153
+
154
+
155
+ if LXML:
156
+ write_cell = lxml_write_cell
157
+ else:
158
+ write_cell = etree_write_cell