pyxllib 0.3.29__tar.gz → 0.3.30__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.29/pyxllib.egg-info → pyxllib-0.3.30}/PKG-INFO +1 -1
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/kq5034lib.py +39 -12
- {pyxllib-0.3.29 → pyxllib-0.3.30/pyxllib.egg-info}/PKG-INFO +1 -1
- {pyxllib-0.3.29 → pyxllib-0.3.30}/setup.py +1 -1
- {pyxllib-0.3.29 → pyxllib-0.3.30}/LICENSE +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/MANIFEST.in +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/README.md +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/disjoint.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/geo.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/intervals.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/newbie.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/pupil.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/shapelylib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/specialist.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/stat.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/treelib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/algo/unitlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/expert.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/imfile.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/imhash.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/pupil.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/rgbfmt.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/trackbartools.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/xlcvlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/cv/xlpillib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/data/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/data/echarts.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/data/oss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/data/pglib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/data/sqlite.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/data/sqllib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/autogui/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/autogui/autogui.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/autogui/virtualkey.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/demolib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/old.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/qt.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/seleniumlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/tk.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/unixlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/utools.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/webhook.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/ext/win32lib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/docxlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/gitlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/movielib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/newbie.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/onenotelib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/packlib/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/packlib/zipfile.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/pdflib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/pupil.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/specialist/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/specialist/dirlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/specialist/download.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/specialist/filelib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/file/xlsxlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/deprecatedlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/newbie.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/pupil.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/sitepackages.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/specialist/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/specialist/bc.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/specialist/browser.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/specialist/common.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/specialist/datetime.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/specialist/tictoc.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/prog/specialist/xllog.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/stdlib/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/stdlib/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/stdlib/tablepyxl/style.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/stdlib/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/ahocorasick.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/latex/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/levenshtein.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/nestenv.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/newbie.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/pupil/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/pupil/common.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/pupil/xlalign.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/pycode.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/specialist/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/specialist/common.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/specialist/ptag.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/spellchecker.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/text/xmllib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/xl.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib/xlcv.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib.egg-info/SOURCES.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib.egg-info/dependency_links.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib.egg-info/requires.txt +4 -4
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxllib.egg-info/top_level.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ai/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ai/clientlib.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ai/specialist.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ai/torch_app.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ai/xlpaddle.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ai/xltorch.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/coco.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/datacls.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/datasets.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/icdar/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/icdar/deteval.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/icdar/icdar2013.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/icdar/iou.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/icdar/rrc_evaluation_funcs_1_1.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/imtextline.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/labelme.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/removeline.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/data/specialist.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/eval/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/paddleocr.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/configs/rec/multi_language/generate_multi_language_configs.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/ColorJitter.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/copy_paste.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/east_process.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/gen_table_mask.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/iaa_augment.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/label_ops.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/make_border_map.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/make_pse_gt.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/make_shrink_map.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/operators.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/pg_process.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/randaugment.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/random_crop_data.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/rec_img_aug.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/sast_process.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/text_image_aug/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/text_image_aug/augment.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/imaug/text_image_aug/warp_mls.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/lmdb_dataset.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/pgnet_dataset.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/pubtab_dataset.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/data/simple_dataset.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/ace_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/basic_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/center_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/cls_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/combined_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/det_basic_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/det_db_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/det_east_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/det_pse_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/det_sast_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/distillation_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/e2e_pg_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/kie_sdmgr_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/rec_aster_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/rec_att_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/rec_ctc_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/rec_enhanced_ctc_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/rec_nrtr_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/rec_sar_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/rec_srn_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/losses/table_att_loss.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/cls_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/det_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/distillation_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/e2e_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/eval_det_iou.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/kie_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/rec_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/metrics/table_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/architectures/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/architectures/base_model.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/architectures/distillation_model.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/det_mobilenet_v3.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd_sast.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/e2e_resnet_vd_pg.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/kie_unet_sdmgr.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/rec_mobilenet_v3.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/rec_mv1_enhance.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/rec_nrtr_mtb.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/rec_resnet_31.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/rec_resnet_aster.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/rec_resnet_fpn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/backbones/rec_resnet_vd.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/cls_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/det_db_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/det_east_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/det_pse_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/det_sast_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/e2e_pg_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/kie_sdmgr_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/multiheadAttention.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/rec_aster_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/rec_att_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/rec_ctc_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/rec_nrtr_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/rec_sar_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/rec_srn_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/self_attention.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/heads/table_att_head.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/db_fpn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/east_fpn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/fpn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/pg_fpn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/rnn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/sast_fpn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/necks/table_fpn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/transforms/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/transforms/stn.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/transforms/tps.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/modeling/transforms/tps_spatial_transformer.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/optimizer/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/optimizer/learning_rate.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/optimizer/lr_scheduler.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/optimizer/optimizer.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/optimizer/regularizer.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/cls_postprocess.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/db_postprocess.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/east_postprocess.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/locality_aware_nms.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/pg_postprocess.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/pse_postprocess/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/setup.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/pse_postprocess/pse_postprocess.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/rec_postprocess.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/postprocess/sast_postprocess.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/eval.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/export_center.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/export_model.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer/predict_cls.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer/predict_det.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer/predict_e2e.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer/predict_rec.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer/predict_system.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer/utility.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer_cls.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer_det.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer_e2e.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer_kie.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer_rec.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/infer_table.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/program.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/test_hubserving.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/train.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/tools/xlprog.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/EN_symbol_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/ar_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/arabic_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/be_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/bg_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/chinese_cht_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/cyrillic_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/devanagari_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/en_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/fa_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/french_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/german_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/hi_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/it_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/japan_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/ka_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/korean_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/latin_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/mr_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/ne_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/oc_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/pu_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/rs_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/rsc_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/ru_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/ta_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/table_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/table_structure_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/te_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/ug_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/uk_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/ur_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict/xi_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/dict90.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/e2e_metric/Deteval.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/e2e_metric/polygon_fast.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/e2e_utils/extract_batchsize.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_fast.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_slow.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/e2e_utils/pgnet_pp_utils.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/e2e_utils/visual.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/en_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/gen_label.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/ic15_dict.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/iou.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/logging.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/network.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/ppocr_keys_v1.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/profiler.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/save_load.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/stats.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppocr/utils/utility.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/predict_system.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/eval_table.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/matcher.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/predict_structure.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/predict_table.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/table_metric/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/table_metric/parallel.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/table_metric/table_metric.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/tablepyxl/style.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/table/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/ppstructure/utility.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/pyxlpr/xlai.py +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/requirements.txt +0 -0
- {pyxllib-0.3.29 → pyxllib-0.3.30}/setup.cfg +0 -0
@@ -29,7 +29,7 @@ from tqdm import tqdm
|
|
29
29
|
from pyxllib.text.pupil import chinese2digits, grp_chinese_char
|
30
30
|
from pyxllib.file.xlsxlib import openpyxl
|
31
31
|
from pyxllib.file.specialist import XlPath
|
32
|
-
from pyxllib.prog.specialist import parse_datetime, browser, TicToc
|
32
|
+
from pyxllib.prog.specialist import parse_datetime, browser, TicToc, dprint
|
33
33
|
from pyxllib.cv.rgbfmt import RgbFormatter
|
34
34
|
from pyxllib.data.sqlite import Connection
|
35
35
|
|
@@ -69,8 +69,10 @@ class 网课考勤:
|
|
69
69
|
self.开课日期 = date.fromisoformat(self.开课日期)
|
70
70
|
# self.觉观禅课 = (self.开课日期.day == 1)
|
71
71
|
self.觉观禅课 = '觉观' in self.返款标题
|
72
|
-
self.当天课次 =
|
73
|
-
self
|
72
|
+
self.当天课次 = (self.today - self.开课日期).days + 1 # 这是用于逻辑运算的,可能超过实际课次数
|
73
|
+
self.当天课次2 = min(self.当天课次, self.课次数)
|
74
|
+
self.结束课次 = self.当天课次 - len(self.视频返款) + 1 # 这是用于逻辑运算的,可能有负值
|
75
|
+
self.结束课次2 = max(0, self.结束课次)
|
74
76
|
self.用户列表 = pd.read_csv(self.get_file('数据表/用户列表导出*.csv'))
|
75
77
|
# 用户列表 = 用户列表[用户列表['账号状态'] == '正常']
|
76
78
|
|
@@ -582,7 +584,7 @@ class 网课考勤:
|
|
582
584
|
if 返款额 <= 0:
|
583
585
|
color = RgbFormatter(255, 0, 0)
|
584
586
|
elif 返款额 < 最高返款额:
|
585
|
-
color = RgbFormatter(255, 255, 0).light(1
|
587
|
+
color = RgbFormatter(255, 255, 0).light(1 - 返款额 / 最高返款额)
|
586
588
|
elif 返款额 == 最高返款额: # 最高返款额
|
587
589
|
color = RgbFormatter(0, 255, 0)
|
588
590
|
|
@@ -689,9 +691,9 @@ class 网课考勤:
|
|
689
691
|
driver = self.ensure_driver()
|
690
692
|
driver.get('https://admin.xiaoe-tech.com/t/login#/acount')
|
691
693
|
driver.locate('//*[@id="common_template_mounted_el_container"]'
|
692
|
-
|
694
|
+
'/div/div[1]/div[3]/div/div[4]/div/div[1]/div[1]/div/div[2]/input').send_keys(name)
|
693
695
|
driver.locate('//*[@id="common_template_mounted_el_container"]'
|
694
|
-
|
696
|
+
'/div/div[1]/div[3]/div/div[4]/div/div[1]/div[2]/div/div/input').send_keys(passwd)
|
695
697
|
driver.click('//*[@id="common_template_mounted_el_container"]/div/div[1]/div[3]/div/div[4]/div/div[2]')
|
696
698
|
|
697
699
|
# 然后自己手动操作验证码
|
@@ -701,11 +703,11 @@ class 网课考勤:
|
|
701
703
|
driver = self.ensure_driver()
|
702
704
|
driver.get('https://pay.weixin.qq.com/index.php/core/home/login')
|
703
705
|
|
704
|
-
def 下载课次考勤数据(self, 起始课=None, 终止课=None):
|
706
|
+
def 下载课次考勤数据(self, 起始课=None, 终止课=None, 文件名前缀=''):
|
705
707
|
if 起始课 is None:
|
706
|
-
起始课 = self.结束课次
|
708
|
+
起始课 = max(1, self.结束课次)
|
707
709
|
if 终止课 is None:
|
708
|
-
终止课 = self
|
710
|
+
终止课 = min(self.当天课次, self.课次数)
|
709
711
|
|
710
712
|
# 1 遍历课程下载表格
|
711
713
|
driver = self.driver
|
@@ -721,12 +723,37 @@ class 网课考勤:
|
|
721
723
|
time.sleep(1)
|
722
724
|
|
723
725
|
# 2 下载表格
|
724
|
-
|
725
|
-
|
726
|
+
# 2.1 等待下载文件生成完毕
|
727
|
+
while True:
|
728
|
+
driver.get('https://admin.xiaoe-tech.com/t/basic-platform/downloadCenter')
|
729
|
+
if '任务撤回' in driver.locate('//*[@id="downloadsCenter"]/div[4]/div/div[4]/div[2]/table/tbody/tr[1]/'
|
730
|
+
'td[9]/div/div/span').text:
|
731
|
+
time.sleep(1)
|
732
|
+
else:
|
733
|
+
break
|
734
|
+
|
735
|
+
# 2.2 下载表格
|
736
|
+
files = []
|
726
737
|
for i in range(1, 终止课 - 起始课 + 2):
|
727
|
-
driver.click(f'//*[@id="downloadsCenter"]/div[4]/div/div[4]/div[2]/table/tbody/tr[{i}]/
|
738
|
+
driver.click(f'//*[@id="downloadsCenter"]/div[4]/div/div[4]/div[2]/table/tbody/tr[{i}]/'
|
739
|
+
f'td[9]/div/div/span[1]')
|
740
|
+
file = driver.locate(f'//*[@id="downloadsCenter"]/div[4]/div/div[3]/table/tbody/tr[{i}]/'
|
741
|
+
f'td[1]/div/div/div').text + '.csv' # 下载后还会再多一个csv后缀
|
742
|
+
files.append(file)
|
728
743
|
time.sleep(1)
|
729
744
|
|
745
|
+
# 2.3 移动表格
|
746
|
+
time.sleep(1)
|
747
|
+
download_path = XlPath(os.path.join(os.environ['USERPROFILE'], 'Downloads'))
|
748
|
+
for file in files:
|
749
|
+
src_file = (download_path / file)
|
750
|
+
while True:
|
751
|
+
if src_file.is_file():
|
752
|
+
src_file.move(self.root / '数据表' / (文件名前缀 + file), if_exists='replace')
|
753
|
+
break
|
754
|
+
else:
|
755
|
+
time.sleep(1)
|
756
|
+
|
730
757
|
def 批量退款(self):
|
731
758
|
self.driver.get('https://pay.weixin.qq.com/index.php/xphp/cbatchrefund/batch_refund#/pages/index/index')
|
732
759
|
|
@@ -30,7 +30,7 @@ _dir = Path(__file__).parent
|
|
30
30
|
|
31
31
|
setup(
|
32
32
|
name='pyxllib', # pip 安装时用的名字
|
33
|
-
version='0.3.
|
33
|
+
version='0.3.30', # 当前版本,每次更新上传到pypi都需要修改; 第4位版本号一般是修紧急bug
|
34
34
|
author='code4101',
|
35
35
|
author_email='877362867@qq.com',
|
36
36
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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,14 +21,14 @@ Jinja2
|
|
21
21
|
pandas>=0.23.4
|
22
22
|
|
23
23
|
[xlai]
|
24
|
-
visdom
|
25
24
|
opsdroid-get-image-size
|
26
|
-
pynvml
|
27
|
-
opencv-python
|
28
25
|
xlcocotools
|
26
|
+
visdom
|
27
|
+
opencv-python
|
28
|
+
pynvml
|
29
29
|
pillow
|
30
30
|
|
31
31
|
[xlcv]
|
32
|
-
opencv-python
|
33
32
|
opsdroid-get-image-size
|
33
|
+
opencv-python
|
34
34
|
pillow
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|