pyxllib 0.3.175__tar.gz → 0.3.197__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.
- pyxllib-0.3.197/.gitignore +16 -0
- pyxllib-0.3.197/PKG-INFO +48 -0
- pyxllib-0.3.197/README.md +12 -0
- pyxllib-0.3.197/pyproject.toml +58 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/uiautolib.py +9 -4
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/wxautolib.py +7 -6
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/data/pglib.py +4 -1
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/drissionlib.py +32 -1
- pyxllib-0.3.197/pyxllib/ext/kq5034lib.py +12 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/webhook.py +32 -4
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/wpsapi.py +36 -14
- pyxllib-0.3.197/pyxllib/ext/xlwork.py +9 -0
- pyxllib-0.3.197/pyxllib/ext/yuquelib.py +1105 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/xlsyncfile.py +36 -11
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/multiprogs.py +15 -7
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/pupil.py +22 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/specialist/datetime.py +65 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/airscript.js +137 -150
- pyxllib-0.3.197/pyxllib/text/jsa_ai_prompt.md +271 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/jscode.py +35 -17
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/xmllib.py +70 -3
- pyxllib-0.3.197/pyxlpr/openai2/LICENSE +202 -0
- pyxllib-0.3.197/pyxlpr/openai2/README.md +427 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/openai2/_core/chat.py +2 -2
- pyxllib-0.3.197/pyxlpr/openai2/art.json +4 -0
- pyxllib-0.3.197/pyxlpr/openai2/licenses/README.md +1 -0
- pyxllib-0.3.197/pyxlpr/openai2/licenses/openai/LICENSE +21 -0
- pyxllib-0.3.197/pyxlpr/openai2/pyproject.toml +22 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/cls/cls_mv3.yml +95 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_cml.yml +204 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_distill.yml +175 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_dml.yml +178 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_student.yml +132 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml +132 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml +131 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0_2.yml +127 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_mv3_db.yml +131 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_mv3_db2.yml +128 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_mv3_east.yml +109 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_mv3_pse.yml +135 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_r50_vd_db.yml +128 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_r50_vd_east.yml +108 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_r50_vd_pse.yml +134 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_r50_vd_sast_icdar15.yml +109 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_r50_vd_sast_totaltext.yml +108 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/det/det_res18_db_v2.0.yml +131 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/e2e/e2e_r50_vd_pg.yml +114 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/kie/kie_unet_sdmgr.yml +111 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/ch_PP-OCRv2/ch_PP-OCRv2_rec.yml +110 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/ch_PP-OCRv2/ch_PP-OCRv2_rec_distillation.yml +159 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/ch_PP-OCRv2/ch_PP-OCRv2_rec_enhanced_ctc_loss.yml +124 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/ch_ppocr_v2.0/rec_chinese_common_train_v2.0.yml +100 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml +102 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_arabic_lite_train.yml +110 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_cyrillic_lite_train.yml +110 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_devanagari_lite_train.yml +110 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_en_number_lite_train.yml +101 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_french_lite_train.yml +101 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_german_lite_train.yml +101 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_japan_lite_train.yml +101 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_korean_lite_train.yml +101 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_latin_lite_train.yml +110 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/multi_language/rec_multi_language_lite_train.yml +103 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_icdar15_train.yml +99 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_mtb_nrtr.yml +101 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_mv3_none_bilstm_ctc.yml +95 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_mv3_none_none_ctc.yml +94 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_mv3_tps_bilstm_att.yml +101 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_mv3_tps_bilstm_ctc.yml +99 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_r31_sar.yml +98 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_r34_vd_none_bilstm_ctc.yml +94 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_r34_vd_none_none_ctc.yml +92 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_r34_vd_tps_bilstm_att.yml +100 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_r34_vd_tps_bilstm_ctc.yml +98 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_r50_fpn_srn.yml +106 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/rec/rec_resnet_stn_bilstm_att.yml +108 -0
- pyxllib-0.3.197/pyxlpr/ppocr/configs/table/table_mv3.yml +117 -0
- pyxllib-0.3.197/pyxlpr/ppocr/postprocess/pse_postprocess/pse/README.md +6 -0
- pyxllib-0.3.197/pyxlpr/ppocr/postprocess/pse_postprocess/pse/pse.pyx +70 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/README.md +140 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/README_ch.md +137 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/layout/README.md +141 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/layout/README_ch.md +141 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/layout/train_layoutparser_model.md +203 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/layout/train_layoutparser_model_ch.md +203 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/table/README.md +116 -0
- pyxllib-0.3.197/pyxlpr/ppstructure/table/README_ch.md +126 -0
- pyxllib-0.3.175/MANIFEST.in +0 -5
- pyxllib-0.3.175/PKG-INFO +0 -86
- pyxllib-0.3.175/README.md +0 -18
- pyxllib-0.3.175/pyxllib/ext/kq5034lib.py +0 -1270
- pyxllib-0.3.175/pyxllib/ext/yuquelib.py +0 -294
- pyxllib-0.3.175/pyxllib.egg-info/PKG-INFO +0 -86
- pyxllib-0.3.175/pyxllib.egg-info/SOURCES.txt +0 -366
- pyxllib-0.3.175/pyxllib.egg-info/dependency_links.txt +0 -1
- pyxllib-0.3.175/pyxllib.egg-info/requires.txt +0 -54
- pyxllib-0.3.175/pyxllib.egg-info/top_level.txt +0 -2
- pyxllib-0.3.175/requirements.txt +0 -23
- pyxllib-0.3.175/setup.cfg +0 -4
- pyxllib-0.3.175/setup.py +0 -84
- {pyxllib-0.3.175 → pyxllib-0.3.197}/LICENSE +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/disjoint.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/geo.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/intervals.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/matcher.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/newbie.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/pupil.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/shapelylib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/specialist.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/stat.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/treelib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/algo/unitlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/activewin.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/all.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/autogui.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/virtualkey.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/wechat.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/autogui/wechat_msg.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/expert.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/imfile.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/imhash.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/pupil.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/rgbfmt.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/slidercaptcha.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/trackbartools.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/xlcvlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/cv/xlpillib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/data/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/data/echarts.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/data/jsonlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/data/oss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/data/sqlite.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/data/sqllib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/JLineViewer.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/demolib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/old.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/qt.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/robustprocfile.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/seleniumlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/tk.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/unixlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/utools.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/win32lib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/ext/wjxlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/docxlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/gitlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/libreoffice.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/movielib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/newbie.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/onenotelib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/packlib/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/packlib/zipfile.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/pdflib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/pupil.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/specialist/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/specialist/dirlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/specialist/download.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/specialist/filelib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/file/xlsxlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/cachetools.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/deprecatedlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/filelock.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/ipyexec.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/newbie.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/sitepackages.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/specialist/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/specialist/bc.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/specialist/browser.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/specialist/common.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/specialist/tictoc.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/specialist/xllog.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/prog/xlosenv.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/stdlib/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/stdlib/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/stdlib/tablepyxl/style.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/stdlib/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/ahocorasick.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/charclasslib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/jiebalib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/jinjalib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/latex/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/levenshtein.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/nestenv.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/newbie.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/pupil/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/pupil/common.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/pupil/xlalign.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/pycode.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/specialist/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/specialist/common.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/specialist/ptag.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/spellchecker.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/templates/echart_base.html +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/templates/highlight_code.html +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/templates/latex_editor.html +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/text/vbacode.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/xl.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxllib/xlcv.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ai/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ai/clientlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ai/specialist.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ai/torch_app.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ai/xlpaddle.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ai/xltorch.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/coco.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/datacls.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/datasets.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/gptlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/icdar/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/icdar/deteval.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/icdar/icdar2013.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/icdar/iou.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/icdar/rrc_evaluation_funcs_1_1.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/imtextline.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/labelme.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/removeline.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/specialist.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/data/tiktokenlib.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/eval/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/openai2/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/openai2/_core/chat_in_cmd.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/openai2/_core/group_chat.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/openai2/openai2.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/paddleocr.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/configs/rec/multi_language/generate_multi_language_configs.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/ColorJitter.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/copy_paste.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/east_process.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/gen_table_mask.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/iaa_augment.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/label_ops.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/make_border_map.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/make_pse_gt.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/make_shrink_map.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/operators.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/pg_process.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/randaugment.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/random_crop_data.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/rec_img_aug.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/sast_process.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/text_image_aug/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/text_image_aug/augment.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/imaug/text_image_aug/warp_mls.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/lmdb_dataset.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/pgnet_dataset.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/pubtab_dataset.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/data/simple_dataset.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/ace_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/basic_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/center_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/cls_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/combined_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/det_basic_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/det_db_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/det_east_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/det_pse_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/det_sast_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/distillation_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/e2e_pg_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/kie_sdmgr_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/rec_aster_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/rec_att_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/rec_ctc_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/rec_enhanced_ctc_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/rec_nrtr_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/rec_sar_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/rec_srn_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/losses/table_att_loss.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/cls_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/det_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/distillation_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/e2e_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/eval_det_iou.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/kie_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/rec_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/metrics/table_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/architectures/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/architectures/base_model.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/architectures/distillation_model.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/det_mobilenet_v3.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd_sast.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/e2e_resnet_vd_pg.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/kie_unet_sdmgr.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/rec_mobilenet_v3.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/rec_mv1_enhance.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/rec_nrtr_mtb.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/rec_resnet_31.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/rec_resnet_aster.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/rec_resnet_fpn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/backbones/rec_resnet_vd.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/cls_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/det_db_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/det_east_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/det_pse_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/det_sast_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/e2e_pg_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/kie_sdmgr_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/multiheadAttention.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/rec_aster_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/rec_att_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/rec_ctc_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/rec_nrtr_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/rec_sar_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/rec_srn_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/self_attention.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/heads/table_att_head.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/db_fpn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/east_fpn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/fpn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/pg_fpn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/rnn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/sast_fpn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/necks/table_fpn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/transforms/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/transforms/stn.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/transforms/tps.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/modeling/transforms/tps_spatial_transformer.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/optimizer/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/optimizer/learning_rate.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/optimizer/lr_scheduler.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/optimizer/optimizer.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/optimizer/regularizer.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/cls_postprocess.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/db_postprocess.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/east_postprocess.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/locality_aware_nms.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/pg_postprocess.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/pse_postprocess/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/setup.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/pse_postprocess/pse_postprocess.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/rec_postprocess.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/postprocess/sast_postprocess.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/eval.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/export_center.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/export_model.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer/predict_cls.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer/predict_det.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer/predict_e2e.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer/predict_rec.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer/predict_system.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer/utility.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer_cls.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer_det.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer_e2e.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer_kie.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer_rec.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/infer_table.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/program.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/test_hubserving.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/train.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/tools/xlprog.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/EN_symbol_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/ar_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/arabic_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/be_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/bg_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/chinese_cht_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/cyrillic_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/devanagari_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/en_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/fa_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/french_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/german_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/hi_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/it_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/japan_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/ka_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/korean_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/latin_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/mr_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/ne_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/oc_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/pu_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/rs_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/rsc_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/ru_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/ta_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/table_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/table_structure_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/te_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/ug_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/uk_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/ur_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict/xi_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/dict90.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/e2e_metric/Deteval.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/e2e_metric/polygon_fast.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/e2e_utils/extract_batchsize.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_fast.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_slow.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/e2e_utils/pgnet_pp_utils.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/e2e_utils/visual.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/en_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/gen_label.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/ic15_dict.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/iou.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/logging.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/network.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/ppocr_keys_v1.txt +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/profiler.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/save_load.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/stats.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppocr/utils/utility.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/predict_system.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/eval_table.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/matcher.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/predict_structure.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/predict_table.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/table_metric/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/table_metric/parallel.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/table_metric/table_metric.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/tablepyxl/style.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/table/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/ppstructure/utility.py +0 -0
- {pyxllib-0.3.175 → pyxllib-0.3.197}/pyxlpr/xlai.py +0 -0
pyxllib-0.3.197/PKG-INFO
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: pyxllib
|
3
|
+
Version: 0.3.197
|
4
|
+
Summary: 厦门理工模式识别团队通用python代码工具库
|
5
|
+
Project-URL: Homepage, https://github.com/XLPRUtils/pyxllib
|
6
|
+
Author-email: code4101 <877362867@qq.com>
|
7
|
+
License-File: LICENSE
|
8
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
9
|
+
Classifier: Operating System :: OS Independent
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
11
|
+
Requires-Python: <3.13,>=3.6
|
12
|
+
Requires-Dist: arrow
|
13
|
+
Requires-Dist: beautifulsoup4
|
14
|
+
Requires-Dist: charset-normalizer
|
15
|
+
Requires-Dist: decorator
|
16
|
+
Requires-Dist: deprecated
|
17
|
+
Requires-Dist: envariable
|
18
|
+
Requires-Dist: fire
|
19
|
+
Requires-Dist: humanfriendly
|
20
|
+
Requires-Dist: jinja2
|
21
|
+
Requires-Dist: loguru
|
22
|
+
Requires-Dist: lxml
|
23
|
+
Requires-Dist: more-itertools
|
24
|
+
Requires-Dist: numpy
|
25
|
+
Requires-Dist: pandas>=0.23.4
|
26
|
+
Requires-Dist: pillow
|
27
|
+
Requires-Dist: pympler
|
28
|
+
Requires-Dist: pyperclip
|
29
|
+
Requires-Dist: pyyaml
|
30
|
+
Requires-Dist: qiniu
|
31
|
+
Requires-Dist: requests
|
32
|
+
Requires-Dist: tqdm
|
33
|
+
Requires-Dist: ujson
|
34
|
+
Requires-Dist: xlrd
|
35
|
+
Description-Content-Type: text/markdown
|
36
|
+
|
37
|
+
|
38
|
+
# 1 安装
|
39
|
+
|
40
|
+
```
|
41
|
+
pip install pyxllib
|
42
|
+
```
|
43
|
+
|
44
|
+
更多介绍: https://www.yuque.com/xlpr/pyxllib/install
|
45
|
+
|
46
|
+
# 2 文档
|
47
|
+
|
48
|
+
文档都在语雀: https://www.yuque.com/xlpr/pyxllib
|
@@ -0,0 +1,58 @@
|
|
1
|
+
[build-system]
|
2
|
+
requires = ['hatchling']
|
3
|
+
build-backend = 'hatchling.build'
|
4
|
+
|
5
|
+
[project]
|
6
|
+
name = 'pyxllib'
|
7
|
+
version = '0.3.197'
|
8
|
+
description = '厦门理工模式识别团队通用python代码工具库'
|
9
|
+
authors = [
|
10
|
+
{ name = 'code4101', email = '877362867@qq.com' },
|
11
|
+
]
|
12
|
+
readme = 'README.md'
|
13
|
+
requires-python = '>=3.6, <3.13' # 3.6可以兼容大部分功能,但并不保证所有功能都可用
|
14
|
+
classifiers = [
|
15
|
+
'Programming Language :: Python :: 3',
|
16
|
+
'Operating System :: OS Independent',
|
17
|
+
'License :: OSI Approved :: Apache Software License',
|
18
|
+
]
|
19
|
+
dependencies = [
|
20
|
+
'arrow',
|
21
|
+
'charset-normalizer',
|
22
|
+
'requests',
|
23
|
+
'qiniu',
|
24
|
+
'pyyaml',
|
25
|
+
'loguru',
|
26
|
+
'humanfriendly',
|
27
|
+
'tqdm',
|
28
|
+
'ujson',
|
29
|
+
'Deprecated',
|
30
|
+
'pyperclip',
|
31
|
+
'envariable',
|
32
|
+
'decorator',
|
33
|
+
'more-itertools',
|
34
|
+
'fire',
|
35
|
+
'xlrd',
|
36
|
+
'pympler',
|
37
|
+
'lxml',
|
38
|
+
'beautifulsoup4',
|
39
|
+
'numpy',
|
40
|
+
'Jinja2',
|
41
|
+
'pandas>=0.23.4',
|
42
|
+
'pillow',
|
43
|
+
]
|
44
|
+
|
45
|
+
[project.urls]
|
46
|
+
Homepage = 'https://github.com/XLPRUtils/pyxllib'
|
47
|
+
|
48
|
+
[tool.hatch.build]
|
49
|
+
exclude = [
|
50
|
+
'.github',
|
51
|
+
'.gitignore',
|
52
|
+
'.gitattributes',
|
53
|
+
]
|
54
|
+
|
55
|
+
[tool.uv]
|
56
|
+
index-url = 'https://pypi.tuna.tsinghua.edu.cn/simple'
|
57
|
+
dev-dependencies = [
|
58
|
+
]
|
@@ -18,6 +18,7 @@ import tempfile
|
|
18
18
|
|
19
19
|
import psutil
|
20
20
|
import pandas as pd
|
21
|
+
from fastcore.basics import GetAttr
|
21
22
|
|
22
23
|
from loguru import logger
|
23
24
|
# ui组件大多是树形组织结构,auto库自带树形操作太弱。没有专业的树形结构库,能搞个毛线。
|
@@ -32,7 +33,8 @@ if sys.platform == 'win32':
|
|
32
33
|
import win32process
|
33
34
|
import win32clipboard
|
34
35
|
|
35
|
-
import uiautomation as
|
36
|
+
import uiautomation as uia
|
37
|
+
from uiautomation import WindowControl
|
36
38
|
|
37
39
|
|
38
40
|
def __1_clipboard_utils():
|
@@ -198,7 +200,7 @@ def get_windows_info():
|
|
198
200
|
}
|
199
201
|
|
200
202
|
if not data['proc_name'].endswith('.tmp') and is_visible:
|
201
|
-
ctrl =
|
203
|
+
ctrl = uia.ControlFromHandle(hwnd)
|
202
204
|
data['ControlTypeName'] = ctrl.ControlTypeName
|
203
205
|
|
204
206
|
window_list.append(data)
|
@@ -212,11 +214,13 @@ def find_ctrl(class_name=None, name=None, **kwargs):
|
|
212
214
|
kwargs['ClassName'] = class_name
|
213
215
|
if name is not None:
|
214
216
|
kwargs['Name'] = name
|
215
|
-
ctrl =
|
217
|
+
ctrl = uia.WindowControl(**kwargs)
|
216
218
|
return ctrl
|
217
219
|
|
218
220
|
|
219
|
-
class UiCtrlNode(NodeMixin):
|
221
|
+
class UiCtrlNode(NodeMixin, GetAttr, WindowControl):
|
222
|
+
_default = 'ctrl'
|
223
|
+
|
220
224
|
def __0_构建(self):
|
221
225
|
pass
|
222
226
|
|
@@ -246,6 +250,7 @@ class UiCtrlNode(NodeMixin):
|
|
246
250
|
""" 激活当前窗口
|
247
251
|
"""
|
248
252
|
while True:
|
253
|
+
# todo 这种限定情况并不严谨,有概率出现重复的~
|
249
254
|
hwnd = win32gui.FindWindow(self.ctrl.ClassName, self.text)
|
250
255
|
# logger.info(hwnd)
|
251
256
|
if not hwnd:
|
@@ -8,12 +8,13 @@ import sys
|
|
8
8
|
|
9
9
|
from loguru import logger
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
11
|
+
if sys.platform == 'win32':
|
12
|
+
try: # 尝试加载VIP版
|
13
|
+
from wxautox import WeChat
|
14
|
+
from wxautox.elements import WxParam # WxParam.DEFALUT_SAVEPATH 可以用来配置数据自动保存位置
|
15
|
+
except ModuleNotFoundError: # 否则用贫民版
|
16
|
+
from wxauto import WeChat
|
17
|
+
from wxauto.elements import WxParam
|
17
18
|
|
18
19
|
from pyxllib.prog.filelock import get_autoui_lock
|
19
20
|
|
@@ -55,6 +55,9 @@ class Connection(psycopg.Connection, SqlBase):
|
|
55
55
|
psycopg.Connection.__init__(self, *args, **kwargs)
|
56
56
|
SqlBase.__init__(self, *args, **kwargs)
|
57
57
|
|
58
|
+
def __del__(self):
|
59
|
+
self.close()
|
60
|
+
|
58
61
|
def __1_库(self):
|
59
62
|
pass
|
60
63
|
|
@@ -899,7 +902,7 @@ class XlprDb(Connection):
|
|
899
902
|
chart.options['grid'] = [{'top': 55 + len(all_database_usaged) * 4, 'containLabel': True}]
|
900
903
|
chart.options['tooltip'].opts.update({'axisPointer': {'type': 'cross'}, 'trigger': 'item'})
|
901
904
|
|
902
|
-
#chart.add_series(f'total {pretty_val(ls[0][2] / 1024 / 1024 / 1024):g}',
|
905
|
+
# chart.add_series(f'total {pretty_val(ls[0][2] / 1024 / 1024 / 1024):g}',
|
903
906
|
# to_list([x[2] / 1024 / 1024 / 1024 for x in ls]), areaStyle={})
|
904
907
|
for database, usaged in all_database_usaged.most_common():
|
905
908
|
usaged = usaged / ((ls[-1][0] - ls[0][0]).total_seconds() / 3600 + 1e-9)
|
@@ -16,6 +16,7 @@ import DrissionPage
|
|
16
16
|
from DrissionPage import ChromiumPage, Chromium
|
17
17
|
from DrissionPage._pages.chromium_base import ChromiumBase
|
18
18
|
from DrissionPage._pages.chromium_tab import ChromiumTab
|
19
|
+
import DrissionPage.errors
|
19
20
|
|
20
21
|
from pyxllib.prog.pupil import inject_members
|
21
22
|
from pyxllib.text.pupil import strfind
|
@@ -224,7 +225,18 @@ def close_duplicate_tabs(browser=None):
|
|
224
225
|
# 1 初始化
|
225
226
|
if browser is None:
|
226
227
|
browser = Chromium()
|
227
|
-
|
228
|
+
|
229
|
+
# 250115周三21:12 这步不稳定,会报错,不知道为啥。导致dp最后经常没有清理tabs
|
230
|
+
# 250204周二09:21,好像是浏览器重启更新到最新版本就行了~ 这里也要加个try
|
231
|
+
try:
|
232
|
+
all_tabs = browser.get_tabs()
|
233
|
+
except TimeoutError:
|
234
|
+
logger.warning(
|
235
|
+
'browser.get_tabs()运行报错,请清查浏览器是否已更新但没有重启。本次将browser.quit()退出整个浏览器。')
|
236
|
+
# 你不让我关tabs是吧,那我就把整个浏览器关了
|
237
|
+
browser.quit()
|
238
|
+
return
|
239
|
+
|
228
240
|
seen_domains = set()
|
229
241
|
|
230
242
|
# 2 第一次遍历:保留首个出现的域名,其余重复则关闭
|
@@ -244,3 +256,22 @@ def close_duplicate_tabs(browser=None):
|
|
244
256
|
for t in remaining_tabs:
|
245
257
|
if t.url.startswith('chrome://newtab'):
|
246
258
|
t.close()
|
259
|
+
|
260
|
+
|
261
|
+
def dp_check_quit():
|
262
|
+
""" 检查当前页面是否只剩空标签页,则浏览器可以自动退出 """
|
263
|
+
browser = Chromium()
|
264
|
+
try:
|
265
|
+
tabs = browser.get_tabs()
|
266
|
+
except TimeoutError:
|
267
|
+
logger.warning('browser.get_tabs()运行报错,浏览器可能已更新但没有重启。将退出浏览器。')
|
268
|
+
browser.quit()
|
269
|
+
return
|
270
|
+
|
271
|
+
# 检查是否只剩下空标签页
|
272
|
+
if len(tabs) == 1 and tabs[0].url.startswith('chrome://newtab'):
|
273
|
+
# 如果只剩下一个空标签页,则退出浏览器
|
274
|
+
browser.quit()
|
275
|
+
elif len(tabs) == 0:
|
276
|
+
# 如果没有标签页,也退出浏览器
|
277
|
+
browser.quit()
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# @Email : 877362867@qq.com
|
5
5
|
# @Date : 2020/10/21 09:22
|
6
6
|
|
7
|
-
|
7
|
+
import os
|
8
8
|
import time
|
9
9
|
import hmac
|
10
10
|
import hashlib
|
@@ -37,9 +37,10 @@ class DingtalkRobot:
|
|
37
37
|
https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
|
38
38
|
"""
|
39
39
|
|
40
|
-
def __init__(self,
|
41
|
-
|
42
|
-
self.url
|
40
|
+
def __init__(self, access_token=None, secret=None):
|
41
|
+
access_token = access_token or os.getenv('DINGTALK_ROBOT_SECRET')
|
42
|
+
self.url = f'https://oapi.dingtalk.com/robot/send?access_token={access_token}'
|
43
|
+
self.url += self.add_secret(secret or os.getenv('DINGTALK_ROBOT_SECRET'))
|
43
44
|
self.headers = {"Content-Type": "application/json"}
|
44
45
|
|
45
46
|
@classmethod
|
@@ -89,3 +90,30 @@ class DingtalkRobot:
|
|
89
90
|
|
90
91
|
def send_feedcard(self):
|
91
92
|
raise NotImplementedError
|
93
|
+
|
94
|
+
|
95
|
+
class DingtalkRobot2(DingtalkRobot):
|
96
|
+
|
97
|
+
def __init__(self, title=None):
|
98
|
+
super().__init__()
|
99
|
+
self.title = title
|
100
|
+
|
101
|
+
def send_text2(self, text): # 增加一个更加定制化的便捷接口
|
102
|
+
from pyxllib.prog.pupil import utc_timestamp
|
103
|
+
|
104
|
+
if self.title:
|
105
|
+
self.send_text(f'{utc_timestamp()} {get_host_nickname()} [{self.title}] {text}')
|
106
|
+
else:
|
107
|
+
self.send_text(f'{utc_timestamp()} {get_host_nickname()} {text}')
|
108
|
+
|
109
|
+
def __enter__(self):
|
110
|
+
self.send_text2('启动')
|
111
|
+
return self
|
112
|
+
|
113
|
+
def __exit__(self, exc_type, exc_val, exc_tb):
|
114
|
+
from pyxllib.prog.pupil import format_exception
|
115
|
+
|
116
|
+
if exc_tb is None:
|
117
|
+
self.send_text2('完成')
|
118
|
+
else:
|
119
|
+
self.send_text2(f'报错\n{format_exception(exc_val, 3)}')
|
@@ -4,8 +4,9 @@
|
|
4
4
|
# @Date : 2024/07/31
|
5
5
|
|
6
6
|
import os
|
7
|
-
import
|
7
|
+
import re
|
8
8
|
|
9
|
+
import requests
|
9
10
|
import pandas as pd
|
10
11
|
|
11
12
|
|
@@ -18,12 +19,12 @@ class WpsOnlineBook:
|
|
18
19
|
def __1_基础功能(self):
|
19
20
|
pass
|
20
21
|
|
21
|
-
def __init__(self, file_id
|
22
|
+
def __init__(self, file_id, script_id=None, *, token=None):
|
22
23
|
self.headers = {
|
23
24
|
'Content-Type': "application/json",
|
24
25
|
'AirScript-Token': token or os.getenv('WPS_SCRIPT_TOKEN', ''),
|
25
26
|
}
|
26
|
-
self.
|
27
|
+
self.file_id = file_id
|
27
28
|
self.default_script_id = script_id
|
28
29
|
|
29
30
|
def post_request(self, url, payload):
|
@@ -38,12 +39,9 @@ class WpsOnlineBook:
|
|
38
39
|
print(f"请求失败: {e}")
|
39
40
|
return None
|
40
41
|
|
41
|
-
def run_script(self, script_id=None,
|
42
|
-
"""
|
43
|
-
执行 WPS 脚本并返回执行结果
|
42
|
+
def run_script(self, script_id=None, context_argv=None, sync=True):
|
43
|
+
""" 原本执行 WPS 脚本并返回执行结果
|
44
44
|
|
45
|
-
:param file_id: 文件 ID
|
46
|
-
虽然提供了file_id,但并不支持跨文件调用as脚本
|
47
45
|
:param script_id: 脚本 ID
|
48
46
|
:param context_argv: 脚本参数 (可选)
|
49
47
|
context本来能支持这些参数的:
|
@@ -61,8 +59,7 @@ class WpsOnlineBook:
|
|
61
59
|
|
62
60
|
这个接口跟普通as一样,运行有30秒时限
|
63
61
|
"""
|
64
|
-
|
65
|
-
url = f"https://www.kdocs.cn/api/v3/ide/file/{file_id}/script/{script_id}/{'sync_task' if sync else 'task'}"
|
62
|
+
url = f"https://www.kdocs.cn/api/v3/ide/file/{self.file_id}/script/{script_id}/{'sync_task' if sync else 'task'}"
|
66
63
|
payload = {
|
67
64
|
"Context": {'argv': context_argv or {}}
|
68
65
|
}
|
@@ -73,12 +70,14 @@ class WpsOnlineBook:
|
|
73
70
|
return res
|
74
71
|
|
75
72
|
def __2_封装的更高级的接口(self):
|
73
|
+
""" 这系列的功能需要配套这个框架范式使用:
|
74
|
+
https://github.com/XLPRUtils/pyxllib/blob/master/pyxllib/text/airscript.js
|
75
|
+
"""
|
76
76
|
pass
|
77
77
|
|
78
|
-
def
|
78
|
+
def run_func(self, func_name, *args):
|
79
79
|
""" 我自己常用的jsa框架,jsa那边已经简化了对接模式,所以一般都只用这个高级的接口即可
|
80
|
-
|
81
|
-
配合这个框架范式使用:https://github.com/XLPRUtils/pyxllib/blob/master/pyxllib/text/airscript.js
|
80
|
+
(旧函数名run_script2不再使用)
|
82
81
|
"""
|
83
82
|
return self.run_script(self.default_script_id, context_argv={'funcName': func_name, 'args': args})
|
84
83
|
|
@@ -91,12 +90,35 @@ class WpsOnlineBook:
|
|
91
90
|
:param int data_row: 数据起始行,详细用法见packTableDataFields
|
92
91
|
:param return_mode: 'pd' or 'json'
|
93
92
|
"""
|
94
|
-
data = self.
|
93
|
+
data = self.run_func('packTableDataFields', sheet_name, fields, data_row, filter_empty_rows)
|
95
94
|
if return_mode == 'json':
|
96
95
|
return data
|
97
96
|
elif return_mode == 'pd':
|
98
97
|
return pd.DataFrame(data)
|
99
98
|
|
99
|
+
def write_arr(self, rows, start_cell, batch_size=None):
|
100
|
+
""" 把一个二维数组数据写入表格
|
101
|
+
|
102
|
+
:param rows: 一个n*m的数据
|
103
|
+
:param start_cell: 写入的起始位置,例如'A1',也可以使用Sheet1!A1的格式表示具体的表格位置
|
104
|
+
:param batch_size: 为了避免一次写入内容过多,超时写入失败,可以分成多批运行
|
105
|
+
这里写每批的数据行数
|
106
|
+
默认表示一次性全部提交
|
107
|
+
:return:
|
108
|
+
"""
|
109
|
+
if batch_size is None:
|
110
|
+
batch_size = len(rows) # 如果未指定批次大小,一次性写入所有行
|
111
|
+
|
112
|
+
def func(m):
|
113
|
+
return str(int(m.group()) + batch_size)
|
114
|
+
|
115
|
+
current_cell = start_cell
|
116
|
+
for start in range(0, len(rows), batch_size):
|
117
|
+
end = start + batch_size
|
118
|
+
batch_rows = rows[start:end]
|
119
|
+
self.run_func('writeArrToSheet', batch_rows, current_cell)
|
120
|
+
current_cell = re.sub(r'\d+$', func, current_cell)
|
121
|
+
|
100
122
|
|
101
123
|
if __name__ == '__main__':
|
102
124
|
pass
|