pyxllib 0.3.118__tar.gz → 0.3.119__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 (349) hide show
  1. {pyxllib-0.3.118/pyxllib.egg-info → pyxllib-0.3.119}/PKG-INFO +1 -1
  2. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/drissionlib.py +67 -8
  3. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/kq5034lib.py +0 -19
  4. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/specialist/filelib.py +24 -11
  5. {pyxllib-0.3.118 → pyxllib-0.3.119/pyxllib.egg-info}/PKG-INFO +1 -1
  6. {pyxllib-0.3.118 → pyxllib-0.3.119}/setup.py +1 -1
  7. {pyxllib-0.3.118 → pyxllib-0.3.119}/LICENSE +0 -0
  8. {pyxllib-0.3.118 → pyxllib-0.3.119}/MANIFEST.in +0 -0
  9. {pyxllib-0.3.118 → pyxllib-0.3.119}/README.md +0 -0
  10. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/__init__.py +0 -0
  11. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/__init__.py +0 -0
  12. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/disjoint.py +0 -0
  13. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/geo.py +0 -0
  14. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/intervals.py +0 -0
  15. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/matcher.py +0 -0
  16. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/newbie.py +0 -0
  17. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/pupil.py +0 -0
  18. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/shapelylib.py +0 -0
  19. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/specialist.py +0 -0
  20. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/stat.py +0 -0
  21. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/treelib.py +0 -0
  22. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/algo/unitlib.py +0 -0
  23. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/__init__.py +0 -0
  24. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/expert.py +0 -0
  25. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/imfile.py +0 -0
  26. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/imhash.py +0 -0
  27. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/pupil.py +0 -0
  28. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/rgbfmt.py +0 -0
  29. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/trackbartools.py +0 -0
  30. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/xlcvlib.py +0 -0
  31. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/cv/xlpillib.py +0 -0
  32. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/data/__init__.py +0 -0
  33. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/data/echarts.py +0 -0
  34. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/data/jsonlib.py +0 -0
  35. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/data/oss.py +0 -0
  36. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/data/pglib.py +0 -0
  37. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/data/sqlite.py +0 -0
  38. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/data/sqllib.py +0 -0
  39. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/JLineViewer.py +0 -0
  40. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/__init__.py +0 -0
  41. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/autogui/__init__.py +0 -0
  42. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/autogui/autogui.py +0 -0
  43. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/autogui/virtualkey.py +0 -0
  44. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/demolib.py +0 -0
  45. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/old.py +0 -0
  46. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/qt.py +0 -0
  47. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/robustprocfile.py +0 -0
  48. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/seleniumlib.py +0 -0
  49. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/tk.py +0 -0
  50. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/unixlib.py +0 -0
  51. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/utools.py +0 -0
  52. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/webhook.py +0 -0
  53. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/win32lib.py +0 -0
  54. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/ext/yuquelib.py +0 -0
  55. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/__init__.py +0 -0
  56. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/docxlib.py +0 -0
  57. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/gitlib.py +0 -0
  58. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/libreoffice.py +0 -0
  59. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/movielib.py +0 -0
  60. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/newbie.py +0 -0
  61. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/onenotelib.py +0 -0
  62. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/packlib/__init__.py +0 -0
  63. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/packlib/zipfile.py +0 -0
  64. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/pdflib.py +0 -0
  65. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/pupil.py +0 -0
  66. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/specialist/__init__.py +0 -0
  67. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/specialist/dirlib.py +0 -0
  68. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/specialist/download.py +0 -0
  69. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/file/xlsxlib.py +0 -0
  70. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/__init__.py +0 -0
  71. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/cachetools.py +0 -0
  72. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/deprecatedlib.py +0 -0
  73. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/ipyexec.py +0 -0
  74. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/multiprocs.py +0 -0
  75. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/newbie.py +0 -0
  76. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/pupil.py +0 -0
  77. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/scheduler.py +0 -0
  78. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/sitepackages.py +0 -0
  79. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/specialist/__init__.py +0 -0
  80. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/specialist/bc.py +0 -0
  81. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/specialist/browser.py +0 -0
  82. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/specialist/common.py +0 -0
  83. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/specialist/datetime.py +0 -0
  84. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/specialist/tictoc.py +0 -0
  85. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/specialist/xllog.py +0 -0
  86. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/prog/xlosenv.py +0 -0
  87. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/stdlib/__init__.py +0 -0
  88. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/stdlib/tablepyxl/__init__.py +0 -0
  89. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/stdlib/tablepyxl/style.py +0 -0
  90. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/stdlib/tablepyxl/tablepyxl.py +0 -0
  91. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/__init__.py +0 -0
  92. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/ahocorasick.py +0 -0
  93. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/charclasslib.py +0 -0
  94. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/jiebalib.py +0 -0
  95. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/jinjalib.py +0 -0
  96. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/jscode.py +0 -0
  97. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/latex/__init__.py +0 -0
  98. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/levenshtein.py +0 -0
  99. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/nestenv.py +0 -0
  100. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/newbie.py +0 -0
  101. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/pupil/__init__.py +0 -0
  102. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/pupil/common.py +0 -0
  103. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/pupil/xlalign.py +0 -0
  104. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/pycode.py +0 -0
  105. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/specialist/__init__.py +0 -0
  106. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/specialist/common.py +0 -0
  107. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/specialist/ptag.py +0 -0
  108. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/spellchecker.py +0 -0
  109. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/vbacode.py +0 -0
  110. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/text/xmllib.py +0 -0
  111. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/xl.py +0 -0
  112. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib/xlcv.py +0 -0
  113. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib.egg-info/SOURCES.txt +0 -0
  114. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib.egg-info/dependency_links.txt +0 -0
  115. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib.egg-info/requires.txt +13 -13
  116. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxllib.egg-info/top_level.txt +0 -0
  117. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/__init__.py +0 -0
  118. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ai/__init__.py +0 -0
  119. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ai/clientlib.py +0 -0
  120. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ai/specialist.py +0 -0
  121. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ai/torch_app.py +0 -0
  122. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ai/xlpaddle.py +0 -0
  123. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ai/xltorch.py +0 -0
  124. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/__init__.py +0 -0
  125. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/coco.py +0 -0
  126. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/datacls.py +0 -0
  127. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/datasets.py +0 -0
  128. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/gptlib.py +0 -0
  129. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/icdar/__init__.py +0 -0
  130. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/icdar/deteval.py +0 -0
  131. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/icdar/icdar2013.py +0 -0
  132. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/icdar/iou.py +0 -0
  133. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/icdar/rrc_evaluation_funcs_1_1.py +0 -0
  134. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/imtextline.py +0 -0
  135. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/labelme.py +0 -0
  136. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/removeline.py +0 -0
  137. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/specialist.py +0 -0
  138. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/data/tiktokenlib.py +0 -0
  139. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/eval/__init__.py +0 -0
  140. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/paddleocr.py +0 -0
  141. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/__init__.py +0 -0
  142. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/configs/rec/multi_language/generate_multi_language_configs.py +0 -0
  143. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/__init__.py +0 -0
  144. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/ColorJitter.py +0 -0
  145. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/__init__.py +0 -0
  146. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/copy_paste.py +0 -0
  147. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/east_process.py +0 -0
  148. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/gen_table_mask.py +0 -0
  149. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/iaa_augment.py +0 -0
  150. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/label_ops.py +0 -0
  151. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/make_border_map.py +0 -0
  152. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/make_pse_gt.py +0 -0
  153. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/make_shrink_map.py +0 -0
  154. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/operators.py +0 -0
  155. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/pg_process.py +0 -0
  156. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/randaugment.py +0 -0
  157. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/random_crop_data.py +0 -0
  158. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/rec_img_aug.py +0 -0
  159. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/sast_process.py +0 -0
  160. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/text_image_aug/__init__.py +0 -0
  161. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/text_image_aug/augment.py +0 -0
  162. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/imaug/text_image_aug/warp_mls.py +0 -0
  163. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/lmdb_dataset.py +0 -0
  164. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/pgnet_dataset.py +0 -0
  165. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/pubtab_dataset.py +0 -0
  166. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/data/simple_dataset.py +0 -0
  167. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/__init__.py +0 -0
  168. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/ace_loss.py +0 -0
  169. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/basic_loss.py +0 -0
  170. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/center_loss.py +0 -0
  171. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/cls_loss.py +0 -0
  172. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/combined_loss.py +0 -0
  173. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/det_basic_loss.py +0 -0
  174. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/det_db_loss.py +0 -0
  175. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/det_east_loss.py +0 -0
  176. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/det_pse_loss.py +0 -0
  177. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/det_sast_loss.py +0 -0
  178. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/distillation_loss.py +0 -0
  179. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/e2e_pg_loss.py +0 -0
  180. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/kie_sdmgr_loss.py +0 -0
  181. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/rec_aster_loss.py +0 -0
  182. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/rec_att_loss.py +0 -0
  183. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/rec_ctc_loss.py +0 -0
  184. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/rec_enhanced_ctc_loss.py +0 -0
  185. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/rec_nrtr_loss.py +0 -0
  186. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/rec_sar_loss.py +0 -0
  187. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/rec_srn_loss.py +0 -0
  188. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/losses/table_att_loss.py +0 -0
  189. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/__init__.py +0 -0
  190. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/cls_metric.py +0 -0
  191. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/det_metric.py +0 -0
  192. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/distillation_metric.py +0 -0
  193. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/e2e_metric.py +0 -0
  194. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/eval_det_iou.py +0 -0
  195. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/kie_metric.py +0 -0
  196. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/rec_metric.py +0 -0
  197. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/metrics/table_metric.py +0 -0
  198. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/architectures/__init__.py +0 -0
  199. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/architectures/base_model.py +0 -0
  200. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/architectures/distillation_model.py +0 -0
  201. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/__init__.py +0 -0
  202. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/det_mobilenet_v3.py +0 -0
  203. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd.py +0 -0
  204. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd_sast.py +0 -0
  205. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/e2e_resnet_vd_pg.py +0 -0
  206. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/kie_unet_sdmgr.py +0 -0
  207. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/rec_mobilenet_v3.py +0 -0
  208. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/rec_mv1_enhance.py +0 -0
  209. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/rec_nrtr_mtb.py +0 -0
  210. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/rec_resnet_31.py +0 -0
  211. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/rec_resnet_aster.py +0 -0
  212. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/rec_resnet_fpn.py +0 -0
  213. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/backbones/rec_resnet_vd.py +0 -0
  214. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/__init__.py +0 -0
  215. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/cls_head.py +0 -0
  216. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/det_db_head.py +0 -0
  217. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/det_east_head.py +0 -0
  218. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/det_pse_head.py +0 -0
  219. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/det_sast_head.py +0 -0
  220. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/e2e_pg_head.py +0 -0
  221. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/kie_sdmgr_head.py +0 -0
  222. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/multiheadAttention.py +0 -0
  223. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/rec_aster_head.py +0 -0
  224. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/rec_att_head.py +0 -0
  225. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/rec_ctc_head.py +0 -0
  226. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/rec_nrtr_head.py +0 -0
  227. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/rec_sar_head.py +0 -0
  228. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/rec_srn_head.py +0 -0
  229. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/self_attention.py +0 -0
  230. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/heads/table_att_head.py +0 -0
  231. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/__init__.py +0 -0
  232. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/db_fpn.py +0 -0
  233. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/east_fpn.py +0 -0
  234. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/fpn.py +0 -0
  235. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/pg_fpn.py +0 -0
  236. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/rnn.py +0 -0
  237. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/sast_fpn.py +0 -0
  238. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/necks/table_fpn.py +0 -0
  239. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/transforms/__init__.py +0 -0
  240. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/transforms/stn.py +0 -0
  241. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/transforms/tps.py +0 -0
  242. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/modeling/transforms/tps_spatial_transformer.py +0 -0
  243. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/optimizer/__init__.py +0 -0
  244. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/optimizer/learning_rate.py +0 -0
  245. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/optimizer/lr_scheduler.py +0 -0
  246. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/optimizer/optimizer.py +0 -0
  247. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/optimizer/regularizer.py +0 -0
  248. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/__init__.py +0 -0
  249. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/cls_postprocess.py +0 -0
  250. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/db_postprocess.py +0 -0
  251. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/east_postprocess.py +0 -0
  252. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/locality_aware_nms.py +0 -0
  253. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/pg_postprocess.py +0 -0
  254. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/pse_postprocess/__init__.py +0 -0
  255. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/__init__.py +0 -0
  256. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/setup.py +0 -0
  257. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/pse_postprocess/pse_postprocess.py +0 -0
  258. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/rec_postprocess.py +0 -0
  259. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/postprocess/sast_postprocess.py +0 -0
  260. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/__init__.py +0 -0
  261. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/eval.py +0 -0
  262. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/export_center.py +0 -0
  263. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/export_model.py +0 -0
  264. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer/predict_cls.py +0 -0
  265. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer/predict_det.py +0 -0
  266. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer/predict_e2e.py +0 -0
  267. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer/predict_rec.py +0 -0
  268. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer/predict_system.py +0 -0
  269. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer/utility.py +0 -0
  270. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer_cls.py +0 -0
  271. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer_det.py +0 -0
  272. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer_e2e.py +0 -0
  273. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer_kie.py +0 -0
  274. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer_rec.py +0 -0
  275. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/infer_table.py +0 -0
  276. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/program.py +0 -0
  277. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/test_hubserving.py +0 -0
  278. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/train.py +0 -0
  279. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/tools/xlprog.py +0 -0
  280. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/EN_symbol_dict.txt +0 -0
  281. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/__init__.py +0 -0
  282. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/ar_dict.txt +0 -0
  283. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/arabic_dict.txt +0 -0
  284. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/be_dict.txt +0 -0
  285. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/bg_dict.txt +0 -0
  286. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/chinese_cht_dict.txt +0 -0
  287. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/cyrillic_dict.txt +0 -0
  288. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/devanagari_dict.txt +0 -0
  289. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/en_dict.txt +0 -0
  290. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/fa_dict.txt +0 -0
  291. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/french_dict.txt +0 -0
  292. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/german_dict.txt +0 -0
  293. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/hi_dict.txt +0 -0
  294. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/it_dict.txt +0 -0
  295. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/japan_dict.txt +0 -0
  296. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/ka_dict.txt +0 -0
  297. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/korean_dict.txt +0 -0
  298. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/latin_dict.txt +0 -0
  299. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/mr_dict.txt +0 -0
  300. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/ne_dict.txt +0 -0
  301. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/oc_dict.txt +0 -0
  302. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/pu_dict.txt +0 -0
  303. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/rs_dict.txt +0 -0
  304. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/rsc_dict.txt +0 -0
  305. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/ru_dict.txt +0 -0
  306. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/ta_dict.txt +0 -0
  307. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/table_dict.txt +0 -0
  308. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/table_structure_dict.txt +0 -0
  309. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/te_dict.txt +0 -0
  310. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/ug_dict.txt +0 -0
  311. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/uk_dict.txt +0 -0
  312. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/ur_dict.txt +0 -0
  313. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict/xi_dict.txt +0 -0
  314. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/dict90.txt +0 -0
  315. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/e2e_metric/Deteval.py +0 -0
  316. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/e2e_metric/polygon_fast.py +0 -0
  317. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/e2e_utils/extract_batchsize.py +0 -0
  318. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_fast.py +0 -0
  319. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_slow.py +0 -0
  320. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/e2e_utils/pgnet_pp_utils.py +0 -0
  321. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/e2e_utils/visual.py +0 -0
  322. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/en_dict.txt +0 -0
  323. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/gen_label.py +0 -0
  324. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/ic15_dict.txt +0 -0
  325. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/iou.py +0 -0
  326. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/logging.py +0 -0
  327. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/network.py +0 -0
  328. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/ppocr_keys_v1.txt +0 -0
  329. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/profiler.py +0 -0
  330. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/save_load.py +0 -0
  331. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/stats.py +0 -0
  332. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppocr/utils/utility.py +0 -0
  333. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/__init__.py +0 -0
  334. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/predict_system.py +0 -0
  335. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/__init__.py +0 -0
  336. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/eval_table.py +0 -0
  337. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/matcher.py +0 -0
  338. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/predict_structure.py +0 -0
  339. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/predict_table.py +0 -0
  340. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/table_metric/__init__.py +0 -0
  341. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/table_metric/parallel.py +0 -0
  342. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/table_metric/table_metric.py +0 -0
  343. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/tablepyxl/__init__.py +0 -0
  344. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/tablepyxl/style.py +0 -0
  345. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/table/tablepyxl/tablepyxl.py +0 -0
  346. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/ppstructure/utility.py +0 -0
  347. {pyxllib-0.3.118 → pyxllib-0.3.119}/pyxlpr/xlai.py +0 -0
  348. {pyxllib-0.3.118 → pyxllib-0.3.119}/requirements.txt +0 -0
  349. {pyxllib-0.3.118 → pyxllib-0.3.119}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyxllib
3
- Version: 0.3.118
3
+ Version: 0.3.119
4
4
  Summary: 厦门理工模式识别团队通用python代码工具库
5
5
  Home-page: https://github.com/XLPRUtils/pyxllib
6
6
  Author: code4101
@@ -3,6 +3,7 @@
3
3
  # @Author : 陈坤泽
4
4
  # @Email : 877362867@qq.com
5
5
  # @Date : 2024/04/12
6
+ import time
6
7
 
7
8
  from pyxllib.prog.pupil import check_install_package
8
9
 
@@ -13,10 +14,42 @@ from urllib.parse import unquote
13
14
 
14
15
  import DrissionPage
15
16
  from DrissionPage import ChromiumPage
17
+ from DrissionPage._pages.chromium_base import ChromiumBase
18
+ from DrissionPage._pages.chromium_tab import ChromiumTab
16
19
  from DrissionPage._base.base import BasePage, BaseElement
17
20
 
18
21
  from pyxllib.prog.pupil import inject_members
19
22
  from pyxllib.text.pupil import strfind
23
+ from pyxllib.file.specialist import GetEtag
24
+
25
+
26
+ def get_dp_page(dp_page=None) -> 'XlPage':
27
+ """
28
+
29
+ :param dp_page:
30
+ 默认None, 返回默认的page,一般就是当前页面
31
+ True, 新建一个page
32
+ str, 新建一个对应url的page
33
+ func(tab), 通过规则筛选tab,返回符合条件的第1个tab,否则新建一个tab
34
+ """
35
+
36
+ if isinstance(dp_page, ChromiumPage):
37
+ return dp_page
38
+ elif isinstance(dp_page, ChromiumTab):
39
+ return dp_page.page
40
+ elif callable(dp_page):
41
+ page0 = ChromiumPage()
42
+ for tab in page0.get_tabs():
43
+ if dp_page(tab):
44
+ return tab.page
45
+ return page0.new_tab().page
46
+ elif dp_page is True:
47
+ return ChromiumPage().new_tab().page
48
+ elif isinstance(dp_page, str):
49
+ return ChromiumPage().new_tab(dp_page).page
50
+ else:
51
+ return ChromiumPage()
52
+
20
53
 
21
54
  def get_latest_not_dev_tab(page=None):
22
55
  """ 开发工具本身也会算一个tab,这个函数返回最新的一个不是开发工具的tab """
@@ -45,7 +78,7 @@ def search_download_file(file_name):
45
78
  return file
46
79
 
47
80
 
48
- class XlBasePage(BasePage):
81
+ class XlChromiumBase(ChromiumBase):
49
82
  def get2(self, url, show_errmsg=False, retry=None, interval=None):
50
83
  """
51
84
  240418周四21:57,DrissionPage-4.0.4.21 官方自带page.get,有时候会有bug,不会实际刷新url,这里加个代码进行fix
@@ -64,7 +97,7 @@ class XlBasePage(BasePage):
64
97
  except DrissionPage.errors.ElementLostError:
65
98
  return self
66
99
 
67
- def get_download_files(self):
100
+ def get_download_files(self: ChromiumPage):
68
101
  """ 获取下载列表
69
102
 
70
103
  :param search_name: 搜索文件名,输入该参数时,只会从上往下找到第一个匹配的文件
@@ -90,14 +123,40 @@ class XlBasePage(BasePage):
90
123
 
91
124
  return files
92
125
 
126
+ def wait_page_not_change(self, interval=3):
127
+ """ 等待直到页面内容不再变化
128
+
129
+ :param interval: 时间间隔,需要判断当前内容和interval秒后的内容,看内容是否欧发生改变
130
+ """
131
+ last_html, last_etag = None, None
132
+ while True:
133
+ html = self.html
134
+ etag = GetEtag.from_text(html)
135
+ if etag == last_etag:
136
+ break
137
+
138
+ last_html, last_etag = html, etag
139
+ time.sleep(interval)
140
+ return last_html
141
+
142
+ def action_type(self, ele, text, clear=True):
143
+ """ 基于action实现的重写入,常用于日期相关操作
144
+ 因为很多日期类组件,直接使用ele.input是不生效的,哪怕看似显示了文本,但其实并没有触发js改动,需要用动作链来实现
145
+ """
146
+ from DrissionPage.common import Keys
147
+ if clear:
148
+ self.actions.click(ele).key_down(Keys.CTRL).type('a').key_up(Keys.CTRL).type(text)
149
+ else:
150
+ self.actions.click(ele).type(text)
151
+
93
152
 
94
- inject_members(XlBasePage, BasePage)
153
+ inject_members(XlChromiumBase, ChromiumBase)
95
154
 
96
155
 
97
- class XlBaseElement(BaseElement):
98
- def input2(self, vals, clear=False, by_js=False):
99
- self.clear()
100
- self.input(vals)
156
+ class XlPage(XlChromiumBase, ChromiumTab, ChromiumPage):
157
+ """ 只作为一个类型标记,无实质功能。在猴子补丁背景下,让ide能正确跳转函数定义。 """
158
+ pass
101
159
 
102
160
 
103
- inject_members(XlBaseElement, BaseElement)
161
+ def wait_page_not_change(page, interval=3):
162
+ page.wait_page_not_change(interval)
@@ -883,10 +883,6 @@ class 网课考勤:
883
883
  # 然后自己手动操作验证码
884
884
  # 以及选择"店铺"
885
885
 
886
- def 登录微信支付(self):
887
- driver = self.ensure_driver()
888
- driver.get('https://pay.weixin.qq.com/index.php/core/home/login')
889
-
890
886
  def 下载课次考勤数据(self, 起始课=None, 终止课=None, 文件名前缀=''):
891
887
  if 起始课 is None:
892
888
  起始课 = max(1, self.结束课次)
@@ -944,16 +940,6 @@ class 网课考勤:
944
940
  def 批量退款(self):
945
941
  self.driver.get('https://pay.weixin.qq.com/index.php/xphp/cbatchrefund/batch_refund#/pages/index/index')
946
942
 
947
- def 申请单条退款(self, 凭证号, 退款金额=0, 退款原因=''):
948
- driver = self.ensure_driver()
949
- driver.get('https://pay.weixin.qq.com/index.php/core/refundapply')
950
- driver.locate('//*[@id="app"]/div/div[2]/div[2]/div[2]/div/span/input').send_keys(凭证号)
951
- driver.click('//*[@id="applyRefundBtn"]') # 申请退款
952
- driver.locate('//*[@id="app"]/div/div[2]/div[2]/div[3]/div[2]/div/div[1]/div/span[1]/input').send_keys(
953
- str(退款金额))
954
- driver.locate('//*[@id="textInput"]').send_keys(退款原因)
955
- # driver.click('//*[@id="commitRefundApplyBtn"]') # 建议手动点"提交申请"
956
-
957
943
 
958
944
  class 网课考勤2(网课考勤):
959
945
  def login_xe(self):
@@ -1695,11 +1681,6 @@ def 下载课次考勤数据(课程链接, 检查文本=''):
1695
1681
  driver.click('//*[@id="data-export-container"]/div/div[2]/div/div[2]/div[2]/button[2]/span/span') # 导出
1696
1682
 
1697
1683
 
1698
- def 登录微信支付():
1699
- driver = get_driver()
1700
- driver.get('https://pay.weixin.qq.com/index.php/core/home/login')
1701
-
1702
-
1703
1684
  def 聚合读取考勤数据(data_dir, name, judge_minute=30):
1704
1685
  """
1705
1686
  1、在目录"data_folder"下,找前缀包含name的所有文件
@@ -1476,20 +1476,33 @@ class XlPath(type(pathlib.Path())):
1476
1476
  else:
1477
1477
  return shutil.copytree(self, dst)
1478
1478
 
1479
- def move(self, dst, if_exists=None):
1479
+ def move(self, dst, *, cross_disk=False, if_exists=None):
1480
+ """
1481
+ :param cross_disk: 是否可能涉及跨磁盘操作
1482
+ """
1480
1483
  if not self.exists():
1481
1484
  return self
1482
1485
 
1483
- dst = XlPath(dst)
1484
- if self == dst:
1485
- # 同一个文件,可能是调整了大小写名称
1486
- if self.as_posix() != dst.as_posix():
1487
- tmp = self.tempfile(dir=self.parent) # self不一定是file,也可能是dir,但这个名称通用
1488
- self.rename(tmp)
1489
- self.delete()
1490
- tmp.rename(dst)
1491
- elif dst.exist_preprcs(if_exists):
1492
- self.rename(dst)
1486
+ if cross_disk: # 显式设置跨磁盘操作
1487
+ dst = self.copy(dst, if_exists=if_exists)
1488
+ self.delete()
1489
+ return dst
1490
+
1491
+ try:
1492
+ dst = XlPath(dst)
1493
+ if self == dst:
1494
+ # 同一个文件,可能是调整了大小写名称
1495
+ if self.as_posix() != dst.as_posix():
1496
+ tmp = self.tempfile(dir=self.parent) # self不一定是file,也可能是dir,但这个名称通用
1497
+ self.rename(tmp)
1498
+ self.delete()
1499
+ tmp.rename(dst)
1500
+ elif dst.exist_preprcs(if_exists):
1501
+ self.rename(dst)
1502
+ except OSError:
1503
+ # 有可能是跨磁盘操作,这个时候就只能先拷贝再删除了
1504
+ dst = self.copy(dst, if_exists=if_exists)
1505
+ self.delete()
1493
1506
  return dst
1494
1507
 
1495
1508
  def rename2(self, new_name, if_exists=None):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyxllib
3
- Version: 0.3.118
3
+ Version: 0.3.119
4
4
  Summary: 厦门理工模式识别团队通用python代码工具库
5
5
  Home-page: https://github.com/XLPRUtils/pyxllib
6
6
  Author: code4101
@@ -45,7 +45,7 @@ _dir = Path(__file__).parent
45
45
 
46
46
  setup(
47
47
  name='pyxllib', # pip 安装时用的名字
48
- version='0.3.118', # 当前版本,每次更新上传到pypi都需要修改; 第4位版本号一般是修紧急bug
48
+ version='0.3.119', # 当前版本,每次更新上传到pypi都需要修改; 第4位版本号一般是修紧急bug
49
49
  author='code4101',
50
50
  author_email='877362867@qq.com',
51
51
  url='https://github.com/XLPRUtils/pyxllib',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -21,28 +21,28 @@ Jinja2
21
21
  pandas>=0.23.4
22
22
 
23
23
  [xlai]
24
- opencv-python
25
- opsdroid-get-image-size
26
- pynvml
27
24
  visdom
25
+ opencv-python
28
26
  pillow
27
+ pynvml
28
+ opsdroid-get-image-size
29
29
 
30
30
  [xlall]
31
- flask-jwt-extended
32
- ujson
31
+ flask-restful
33
32
  flask-wtf
34
33
  opencv-python
35
- opsdroid-get-image-size
36
- zhconv
37
- html2text
38
- xlrd
39
34
  flask
40
- sentencepiece
41
- flask-cors
42
- flask-restful
35
+ flask-jwt-extended
36
+ xlrd
43
37
  pillow
38
+ zhconv
39
+ ujson
40
+ flask-cors
41
+ sentencepiece
42
+ html2text
43
+ opsdroid-get-image-size
44
44
 
45
45
  [xlcv]
46
+ pillow
46
47
  opencv-python
47
48
  opsdroid-get-image-size
48
- pillow
File without changes
File without changes
File without changes