buildz 0.6.18__tar.gz → 0.6.20__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.
- {buildz-0.6.18/buildz.egg-info → buildz-0.6.20}/PKG-INFO +7 -2
- {buildz-0.6.18 → buildz-0.6.20}/README.md +6 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/cache.py +59 -9
- buildz-0.6.20/buildz/auto/dbs.py +24 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/deal.py +4 -0
- buildz-0.6.20/buildz/auto/deal_list.py +32 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/deal_type.py +2 -1
- buildz-0.6.20/buildz/auto/factory.py +31 -0
- buildz-0.6.20/buildz/auto/init.py +13 -0
- buildz-0.6.20/buildz/auto/log.py +22 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/request.py +6 -0
- buildz-0.6.20/buildz/auto/test/cache/cache.js +11 -0
- buildz-0.6.18/buildz/auto/test/cache/cache.js → buildz-0.6.20/buildz/auto/test/cache/save.js +1 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/test/config/config.js +4 -3
- buildz-0.6.18/buildz/auto/test/data/test.js → buildz-0.6.20/buildz/auto/test/data/fp.js +3 -0
- buildz-0.6.20/buildz/auto/test/data/item2.js +18 -0
- buildz-0.6.20/buildz/auto/test/data/test.js +31 -0
- buildz-0.6.20/buildz/auto/test/log/20240930_log.txt +24 -0
- buildz-0.6.20/buildz/auto/test/log/20241008_log.txt +126 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/test/test.py +3 -5
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/verify.py +0 -1
- buildz-0.6.20/buildz/db/dv/__init__.py +14 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/dv/clickhousez.py +3 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/dv/mysqlz.py +3 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/dv/oraclez.py +3 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/runz.py +3 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/html/xml.py +4 -4
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc/base.py +4 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc/conf.py +1 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc/confs.py +2 -1
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/obj.py +25 -9
- buildz-0.6.20/buildz/tools.py +4 -0
- {buildz-0.6.18/buildz/auto → buildz-0.6.20/buildz/tz}/log.py +20 -20
- buildz-0.6.20/buildz/tz/time/__init__.py +1 -0
- buildz-0.6.20/buildz/tz/time/timez.py +24 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/write.py +1 -1
- {buildz-0.6.18 → buildz-0.6.20/buildz.egg-info}/PKG-INFO +7 -2
- {buildz-0.6.18 → buildz-0.6.20}/buildz.egg-info/SOURCES.txt +10 -0
- {buildz-0.6.18 → buildz-0.6.20}/setup.py +1 -1
- buildz-0.6.18/buildz/auto/factory.py +0 -28
- buildz-0.6.18/buildz/auto/init.py +0 -13
- buildz-0.6.18/buildz/auto/test/data/item2.js +0 -18
- buildz-0.6.18/buildz/tools.py +0 -3
- {buildz-0.6.18 → buildz-0.6.20}/LICENSE +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/MANIFEST.in +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/__main__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/argx.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/config.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/defs.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/run.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/save.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/auto/test/data/item1.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/base.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/cmd.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/__main__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/install.txt +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/db/run.conf +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/test.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/fz/fio.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/html/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/html/test/demo.html +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/html/test/test.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/base.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/init.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc/decorator.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/branch.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/init.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/map.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/refs.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/ioc/wrap.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/pyz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/tio/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/tio/base.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/tio/getch.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/tio/lx.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/tio/test.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/tz/tio/win.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/__init__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/code.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/file.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/listmapz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/lrval.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/strz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/mg.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/read.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/readz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/stack.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz/xf/xargs.py +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.18 → buildz-0.6.20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: buildz
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.20
|
4
4
|
Summary: 配置读写(基于json格式进行简化)、ioc、以及其他工具代码。a json-base file format's read and write code by python, and codes to read and product object from configure file in such format(ioc), and other tool codes
|
5
5
|
Home-page: https://github.com/buildCodeZ/buildz
|
6
6
|
Author: Zzz
|
@@ -22,6 +22,9 @@ License-File: LICENSE
|
|
22
22
|
buildz.tz: 加些工具,目前只有myerse diff字符串比较算法
|
23
23
|
buildz.demo: 使用参考,运行"python -m buildz"会用这个模块
|
24
24
|
buildz.db: sql集成工具,自用,里面import了其他sql库,使用运行"python -m buildz.db 配置文件路径"
|
25
|
+
buildz.base: 封装了一个基础类,继承它可以少写一些代码
|
26
|
+
buildz.html: xml(html)内容读取和解析
|
27
|
+
buildz.auto: 自动化操作(主要是做自动化测试方便些,如果不怕写一堆配置文件的话)
|
25
28
|
代码关系:
|
26
29
|
buildz.xf, buildz.pyz, buildz.argx, buildz.fz, buildz.tz都是独立的模块
|
27
30
|
buildz.ioc需要buildz.xf和buildz.pyz
|
@@ -31,6 +34,8 @@ License-File: LICENSE
|
|
31
34
|
运行python -m buildz查看帮助
|
32
35
|
|
33
36
|
持续更新中。。。
|
37
|
+
2024/10/08:
|
38
|
+
增强auto配置功能,在auto增加数据库使用的封装,后续考虑出文档。。。如果有时间
|
34
39
|
2024/09/25:
|
35
40
|
修复bug,增强html的搜索功能,增强auto配置功能
|
36
41
|
auto里加了个request的demo,里面用的requests库,可以直接配置来进行http调用
|
@@ -43,7 +48,7 @@ ioc:
|
|
43
48
|
加修饰器
|
44
49
|
加配置refs
|
45
50
|
|
46
|
-
PS: 对比了下json.loads(修改了下json的scanner.py,让它在纯python下运行,不然json.loads会更快)和目前的xf.loads(buildz.xf.readz.loads)的速度,xf.loads比json.loads慢7倍,可能是读字符串更频繁,方法调用更多(为了代码更结构化和容易修改),其实有一版更慢(buildz.xf.read.loads,废弃代码,后面看情况删掉),慢100
|
51
|
+
PS: 对比了下json.loads(修改了下json的scanner.py,让它在纯python下运行,不然json.loads会更快)和目前的xf.loads(buildz.xf.readz.loads)的速度,xf.loads比json.loads慢7倍,可能是读字符串更频繁,方法调用更多(为了代码更结构化和容易修改),其实有一版更慢(buildz.xf.read.loads,废弃代码,后面看情况删掉),慢100倍,因为只考虑结构化,没考虑列表增减开销(获得的经验教训是别直接用python的列表list当堆栈做append和pop,特别慢!)
|
47
52
|
|
48
53
|
1, a profile file format base on json, make it easy to write profile file, module is in buildz.xf
|
49
54
|
2, a ioc profile file read function base on xf format, module is in buildz.ioc
|
@@ -9,6 +9,9 @@
|
|
9
9
|
buildz.tz: 加些工具,目前只有myerse diff字符串比较算法
|
10
10
|
buildz.demo: 使用参考,运行"python -m buildz"会用这个模块
|
11
11
|
buildz.db: sql集成工具,自用,里面import了其他sql库,使用运行"python -m buildz.db 配置文件路径"
|
12
|
+
buildz.base: 封装了一个基础类,继承它可以少写一些代码
|
13
|
+
buildz.html: xml(html)内容读取和解析
|
14
|
+
buildz.auto: 自动化操作(主要是做自动化测试方便些,如果不怕写一堆配置文件的话)
|
12
15
|
代码关系:
|
13
16
|
buildz.xf, buildz.pyz, buildz.argx, buildz.fz, buildz.tz都是独立的模块
|
14
17
|
buildz.ioc需要buildz.xf和buildz.pyz
|
@@ -18,6 +21,8 @@
|
|
18
21
|
运行python -m buildz查看帮助
|
19
22
|
|
20
23
|
持续更新中。。。
|
24
|
+
2024/10/08:
|
25
|
+
增强auto配置功能,在auto增加数据库使用的封装,后续考虑出文档。。。如果有时间
|
21
26
|
2024/09/25:
|
22
27
|
修复bug,增强html的搜索功能,增强auto配置功能
|
23
28
|
auto里加了个request的demo,里面用的requests库,可以直接配置来进行http调用
|
@@ -30,7 +35,7 @@ ioc:
|
|
30
35
|
加修饰器
|
31
36
|
加配置refs
|
32
37
|
|
33
|
-
PS: 对比了下json.loads(修改了下json的scanner.py,让它在纯python下运行,不然json.loads会更快)和目前的xf.loads(buildz.xf.readz.loads)的速度,xf.loads比json.loads慢7倍,可能是读字符串更频繁,方法调用更多(为了代码更结构化和容易修改),其实有一版更慢(buildz.xf.read.loads,废弃代码,后面看情况删掉),慢100
|
38
|
+
PS: 对比了下json.loads(修改了下json的scanner.py,让它在纯python下运行,不然json.loads会更快)和目前的xf.loads(buildz.xf.readz.loads)的速度,xf.loads比json.loads慢7倍,可能是读字符串更频繁,方法调用更多(为了代码更结构化和容易修改),其实有一版更慢(buildz.xf.read.loads,废弃代码,后面看情况删掉),慢100倍,因为只考虑结构化,没考虑列表增减开销(获得的经验教训是别直接用python的列表list当堆栈做append和pop,特别慢!)
|
34
39
|
|
35
40
|
1, a profile file format base on json, make it easy to write profile file, module is in buildz.xf
|
36
41
|
2, a ioc profile file read function base on xf format, module is in buildz.ioc
|
@@ -49,13 +49,14 @@ pass
|
|
49
49
|
|
50
50
|
|
51
51
|
@wrap.obj(id="cache.save")
|
52
|
-
@wrap.obj_args("ref, cache", "ref, log")
|
52
|
+
@wrap.obj_args("ref, cache.file", "ref, log")
|
53
53
|
class Save(Base):
|
54
|
-
def init(self, cache, log):
|
54
|
+
def init(self, cache, log, fkey = "cache.save"):
|
55
|
+
self.fkey = fkey
|
55
56
|
self.cache = cache
|
56
57
|
self.log = log
|
57
58
|
def call(self, maps, fp):
|
58
|
-
fp = xf.get(maps,
|
59
|
+
fp = xf.get(maps, self.fkey, None)
|
59
60
|
if fp is None:
|
60
61
|
self.log.warn(f"cache not save cause 'cache.save' is None")
|
61
62
|
return
|
@@ -66,7 +67,7 @@ class Save(Base):
|
|
66
67
|
return True
|
67
68
|
|
68
69
|
pass
|
69
|
-
@wrap.obj(id="cache")
|
70
|
+
@wrap.obj(id="cache.file")
|
70
71
|
@wrap.obj_args("ref, log", "env, cache.rfp.current.first, false")
|
71
72
|
class Cache(Base):
|
72
73
|
def get(self, key):
|
@@ -76,7 +77,8 @@ class Cache(Base):
|
|
76
77
|
xf.sets(self.data, key.split("."), val)
|
77
78
|
def remove(self, key):
|
78
79
|
xf.removes(self.data, key.split("."))
|
79
|
-
def init(self, log, current_first=False):
|
80
|
+
def init(self, log, current_first=False, fkey = "cache"):
|
81
|
+
self.fkey = fkey
|
80
82
|
self.current_first = current_first
|
81
83
|
self.log = log
|
82
84
|
self.data = {}
|
@@ -113,12 +115,60 @@ class Cache(Base):
|
|
113
115
|
return _fp
|
114
116
|
return fp
|
115
117
|
def call(self, maps, fp):
|
116
|
-
fp = xf.
|
118
|
+
fp = xf.get(maps, self.fkey, "cache.js")
|
119
|
+
if type(fp)!=list:
|
120
|
+
fp = [fp]
|
121
|
+
fps=fp
|
117
122
|
data = {}
|
118
|
-
|
119
|
-
self.
|
120
|
-
|
123
|
+
for fp in fps:
|
124
|
+
fp = self.rfp(fp)
|
125
|
+
if os.path.isfile(fp):
|
126
|
+
self.log.info(f"load cache from {fp}")
|
127
|
+
xdata = xf.flush_maps(xf.loadf(fp),visit_list=True)
|
128
|
+
xf.fill(xdata, data, replace=1)
|
121
129
|
xf.fill(data, self.data, replace=0)
|
122
130
|
return True
|
123
131
|
|
124
132
|
pass
|
133
|
+
|
134
|
+
@wrap.obj(id="cache.mem")
|
135
|
+
@wrap.obj_args("ref, log")
|
136
|
+
class Mem(Cache):
|
137
|
+
def init(self, log, current_first=False, fkey = "mem"):
|
138
|
+
super().init(log)
|
139
|
+
|
140
|
+
pass
|
141
|
+
@wrap.obj(id="cache")
|
142
|
+
@wrap.obj_args("ref, cache.file", "ref, cache.mem")
|
143
|
+
class Caches(Base):
|
144
|
+
def init(self, cache, mem):
|
145
|
+
self.cache = cache
|
146
|
+
self.mem = mem
|
147
|
+
self.caches = [cache, mem]
|
148
|
+
self.set = cache.set
|
149
|
+
self.remove = cache.remove
|
150
|
+
self.call=cache.call
|
151
|
+
self.rfp = cache.rfp
|
152
|
+
self.get_current = cache.get_current
|
153
|
+
self.add_current = cache.add_current
|
154
|
+
self.set_current = cache.set_current
|
155
|
+
def get_file(self, key):
|
156
|
+
return self.cache.get(key)
|
157
|
+
def get_mem(self, key):
|
158
|
+
return self.mem.get(key)
|
159
|
+
def set_file(self, key, val):
|
160
|
+
self.cache.set(key,val)
|
161
|
+
def set_mem(self, key, val):
|
162
|
+
self.mem.set(key, val)
|
163
|
+
def remove_file(self, key):
|
164
|
+
self.cache.remove(key)
|
165
|
+
def remove_mem(self, key):
|
166
|
+
self.mem.remove(key)
|
167
|
+
def get(self, key):
|
168
|
+
for cache in self.caches:
|
169
|
+
v = cache.get(key)
|
170
|
+
if v is not None:
|
171
|
+
return v
|
172
|
+
return None
|
173
|
+
|
174
|
+
pass
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#
|
2
|
+
from ..tools import *
|
3
|
+
from buildz.ioc import wrap
|
4
|
+
import os
|
5
|
+
from buildz.db.dv import build
|
6
|
+
@wrap.obj(id="dbs")
|
7
|
+
@wrap.obj_args("ref, cache", "ref, log")
|
8
|
+
class Dbs(Base):
|
9
|
+
def init(self, cache, log):
|
10
|
+
self.cache = cache
|
11
|
+
self.log = log
|
12
|
+
self.dbs = {}
|
13
|
+
def call(self, maps, fp):
|
14
|
+
confs = xf.g(maps, dbs={})
|
15
|
+
for key,conf in confs.items():
|
16
|
+
url,user,pwd,dv = xf.g(conf, url=None, user=None, pwd=None, device=key)
|
17
|
+
dv = build(dv, [url, user, pwd], val)
|
18
|
+
self.dbs[key] = dv
|
19
|
+
self.cache.set_mem("dbs", self.dbs)
|
20
|
+
return True
|
21
|
+
|
22
|
+
pass
|
23
|
+
|
24
|
+
|
@@ -9,7 +9,10 @@ from ..ioc import wrap
|
|
9
9
|
class List(Base):
|
10
10
|
def init(self, deal, mg):
|
11
11
|
self.deal = deal
|
12
|
+
self.curr_deal = deal
|
12
13
|
self.mg = mg
|
14
|
+
def curr(self):
|
15
|
+
return self.curr_deal
|
13
16
|
def call(self, maps, fp):
|
14
17
|
datas = xf.g(maps, datas = [])
|
15
18
|
sdeal = xf.g(maps, deal = None)
|
@@ -19,6 +22,7 @@ class List(Base):
|
|
19
22
|
deal = deal_obj
|
20
23
|
elif sdeal is not None:
|
21
24
|
deal = self.mg.get(sdeal)
|
25
|
+
self.curr_deal = deal
|
22
26
|
for data in datas:
|
23
27
|
if not deal(data):
|
24
28
|
return False
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#
|
2
|
+
from ..tools import *
|
3
|
+
from buildz.ioc import wrap
|
4
|
+
import os
|
5
|
+
@wrap.obj(id="deal.list")
|
6
|
+
@wrap.obj_args("ref, cache", "ref, log", "ref, cache.modify", "ref, list")
|
7
|
+
class List(Base):
|
8
|
+
def init(self, cache, log, upd, lst):
|
9
|
+
self.cache = cache
|
10
|
+
self.log = log
|
11
|
+
self.upd = upd
|
12
|
+
self.lst = lst
|
13
|
+
def call(self, data, fc):
|
14
|
+
data = self.upd(data)
|
15
|
+
fp = xf.g(data, file = None)
|
16
|
+
if fp is not None:
|
17
|
+
fp = self.cache.rfp(fp)
|
18
|
+
datas = xf.g(data, datas=[])
|
19
|
+
if fp is not None and os.path.isfile(fp):
|
20
|
+
datas = xf.loadf(fp)
|
21
|
+
if type(datas)==dict:
|
22
|
+
datas = xf.g(datas, datas=[])
|
23
|
+
deal = self.lst.curr()
|
24
|
+
print(f"List.datas: {xf.dumps(datas,format=1,deep=1)}")
|
25
|
+
for data in datas:
|
26
|
+
if not deal(data):
|
27
|
+
return False
|
28
|
+
return True
|
29
|
+
|
30
|
+
pass
|
31
|
+
|
32
|
+
|
@@ -20,6 +20,7 @@ pass
|
|
20
20
|
|
21
21
|
@wrap.obj(id = "def.deal.type")
|
22
22
|
@wrap.obj_args("ioc, confs")
|
23
|
+
@wrap.obj_set(cache="ref, cache")
|
23
24
|
class DefDeal(Base):
|
24
25
|
def init(self, mg):
|
25
26
|
self.mg = mg
|
@@ -30,7 +31,7 @@ class DefDeal(Base):
|
|
30
31
|
data = xf.g(conf, types={})
|
31
32
|
rst = {}
|
32
33
|
for _type, calls in data.items():
|
33
|
-
rst[_type] = factory(calls)
|
34
|
+
rst[_type] = factory(calls, True)
|
34
35
|
obj = DealType(rst, self.mg.get("cache"))
|
35
36
|
maps['deal_obj'] = obj
|
36
37
|
return True
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
from .. import xf
|
4
|
+
from .. import ioc
|
5
|
+
from ..base import Base
|
6
|
+
from ..ioc import wrap
|
7
|
+
|
8
|
+
class DeepFc(Base):
|
9
|
+
def init(self, fcs, default = None):
|
10
|
+
self.default = default
|
11
|
+
self.fc = None
|
12
|
+
self.next=None
|
13
|
+
if len(fcs)>0:
|
14
|
+
self.fc = fcs[0]
|
15
|
+
self.next = DeepFc(fcs[1:], default)
|
16
|
+
def call(self, data):
|
17
|
+
if self.fc is None:
|
18
|
+
return self.default
|
19
|
+
return self.fc(data, self.next)
|
20
|
+
|
21
|
+
pass
|
22
|
+
@wrap.obj(id = "buildz.auto.deal.fill")
|
23
|
+
@wrap.obj_args("ioc, confs")
|
24
|
+
class Fill(Base):
|
25
|
+
def init(self, mg):
|
26
|
+
self.mg = mg
|
27
|
+
def call(self, orders, default=None):
|
28
|
+
fcs = [self.mg.get(id) for id in orders]
|
29
|
+
return DeepFc(fcs,default)
|
30
|
+
|
31
|
+
pass
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
|
4
|
+
from .. import xf
|
5
|
+
from .. import ioc
|
6
|
+
from ..base import Base
|
7
|
+
from ..ioc import wrap
|
8
|
+
from ..tools import *
|
9
|
+
import time, sys
|
10
|
+
from ..tz.log import FpLog
|
11
|
+
@wrap.obj(id="log")
|
12
|
+
class AutoLog(FpLog):
|
13
|
+
def call(self, maps, fp):
|
14
|
+
fp = xf.g(maps, log = None)
|
15
|
+
self.fp = fp
|
16
|
+
shows = xf.get(maps, "log.shows")
|
17
|
+
if shows is None:
|
18
|
+
shows = ["info", "warn", "error"]
|
19
|
+
self.shows = shows
|
20
|
+
return True
|
21
|
+
|
22
|
+
pass
|
@@ -58,10 +58,13 @@ class Request(Base):
|
|
58
58
|
xf.s(data, result_code = rp.status_code)
|
59
59
|
if self.debug:
|
60
60
|
self.log.debug(f"request url '{url}' return code: {rp.status_code}")
|
61
|
+
show_obj = None
|
61
62
|
try:
|
63
|
+
show_obj = rp.content
|
62
64
|
xf.s(data, result_content=rp.content)
|
63
65
|
debug_ct = rp.content
|
64
66
|
s = xf.decode(rp.content, "utf-8")
|
67
|
+
show_obj = s
|
65
68
|
if self.debug:
|
66
69
|
self.log.debug(f"request url '{url}' return msg:{s}")
|
67
70
|
xf.s(data, result_text=s)
|
@@ -69,10 +72,13 @@ class Request(Base):
|
|
69
72
|
self.log.warn(f"exp in deal response on '{url}': {exp}")
|
70
73
|
try:
|
71
74
|
obj = json.loads(s)
|
75
|
+
show_obj = xf.dumps(obj,format=1,deepp=1)
|
72
76
|
xf.s(data, result=obj)
|
73
77
|
except Exception as exp:
|
74
78
|
#self.log.warn(f"exp in deal response on '{url}': {exp}")
|
75
79
|
pass
|
80
|
+
if self.debug:
|
81
|
+
self.log.debug(f"request '{url}' response: {show_obj}")
|
76
82
|
try:
|
77
83
|
xf.s(data, result_cookies=dict(rp.cookies))
|
78
84
|
except Exception as exp:
|
@@ -1,11 +1,12 @@
|
|
1
|
-
calls: [log, cache, def.deal.type, list, cache.save]
|
2
|
-
cache: cache/cache.js
|
3
|
-
cache.save: cache/
|
1
|
+
calls: [log, cache, dbs, def.deal.type, list, cache.save]
|
2
|
+
cache: [cache/cache.js,cache/save.js]
|
3
|
+
cache.save: cache/save.js
|
4
4
|
log: log/%Y%m%d_log.txt
|
5
5
|
log.shows: [info, warn, debug, error]
|
6
6
|
def.deal: {
|
7
7
|
types: {
|
8
8
|
http.get: [defs, request, verify, save]
|
9
9
|
get: [defs, request.get, verify, save]
|
10
|
+
list: [defs, deal.list]
|
10
11
|
}
|
11
12
|
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
note: test2
|
2
|
+
url: "https://$host/"
|
3
|
+
defs: {
|
4
|
+
$host:"#{host}"
|
5
|
+
}
|
6
|
+
type: get
|
7
|
+
headers: {
|
8
|
+
User-Agent: "Mozilla/5.0"
|
9
|
+
}
|
10
|
+
data: {
|
11
|
+
}
|
12
|
+
verify: [
|
13
|
+
"status_code, 200"
|
14
|
+
"result_headers.Content-Type, 'text/html'"
|
15
|
+
]
|
16
|
+
save: {
|
17
|
+
test2.headers.content_type: result_headers.Content-Type
|
18
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
configs: config/config.js
|
2
|
+
datas: [
|
3
|
+
//写一个配置
|
4
|
+
{
|
5
|
+
note: test
|
6
|
+
url: test
|
7
|
+
type: http.get
|
8
|
+
data: {
|
9
|
+
url: "#{test.url}"
|
10
|
+
}
|
11
|
+
save: {
|
12
|
+
test.url: data.url
|
13
|
+
}
|
14
|
+
result: {
|
15
|
+
code: 1.99
|
16
|
+
}
|
17
|
+
verify: [
|
18
|
+
"result.code, [>, 1]"
|
19
|
+
]
|
20
|
+
save: {
|
21
|
+
result.code: result.code
|
22
|
+
}
|
23
|
+
}
|
24
|
+
// 或者配置所在的文件
|
25
|
+
item1.js
|
26
|
+
item2.js
|
27
|
+
{
|
28
|
+
type: list
|
29
|
+
file: fp.js
|
30
|
+
}
|
31
|
+
]
|
@@ -0,0 +1,24 @@
|
|
1
|
+
[INFO] 2024-09-30 12:18:42 load cache from cache/cache.js
|
2
|
+
[DEBUG] 2024-09-30 12:18:42 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
3
|
+
[DEBUG] 2024-09-30 12:18:42 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
4
|
+
[INFO] 2024-09-30 12:19:00 load cache from cache/cache.js
|
5
|
+
[INFO] 2024-09-30 12:19:00 load cache from cache/save.js
|
6
|
+
[DEBUG] 2024-09-30 12:19:00 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
7
|
+
[DEBUG] 2024-09-30 12:19:00 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
8
|
+
[INFO] 2024-09-30 20:22:25 load cache from cache/cache.js
|
9
|
+
[INFO] 2024-09-30 20:22:25 load cache from cache/save.js
|
10
|
+
[DEBUG] 2024-09-30 20:22:25 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
11
|
+
[DEBUG] 2024-09-30 20:22:25 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
12
|
+
[ERROR] 2024-09-30 20:22:25 error in request 'https://www.baidu.com/' with method get: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002247FE3AF10>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
|
13
|
+
[INFO] 2024-09-30 20:22:38 load cache from cache/cache.js
|
14
|
+
[INFO] 2024-09-30 20:22:38 load cache from cache/save.js
|
15
|
+
[DEBUG] 2024-09-30 20:22:38 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
16
|
+
[DEBUG] 2024-09-30 20:22:38 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
17
|
+
[INFO] 2024-09-30 20:26:22 load cache from cache/cache.js
|
18
|
+
[INFO] 2024-09-30 20:26:22 load cache from cache/save.js
|
19
|
+
[DEBUG] 2024-09-30 20:26:23 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
20
|
+
[DEBUG] 2024-09-30 20:26:23 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
21
|
+
[INFO] 2024-09-30 20:40:14 load cache from cache/cache.js
|
22
|
+
[INFO] 2024-09-30 20:40:14 load cache from cache/save.js
|
23
|
+
[DEBUG] 2024-09-30 20:40:14 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
24
|
+
[DEBUG] 2024-09-30 20:40:14 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
@@ -0,0 +1,126 @@
|
|
1
|
+
[INFO] 2024-10-08 22:31:52 load cache from cache/cache.js
|
2
|
+
[INFO] 2024-10-08 22:31:52 load cache from cache/save.js
|
3
|
+
[DEBUG] 2024-10-08 22:31:52 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
4
|
+
[DEBUG] 2024-10-08 22:31:52 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
5
|
+
[INFO] 2024-10-08 22:32:43 load cache from cache/cache.js
|
6
|
+
[INFO] 2024-10-08 22:32:43 load cache from cache/save.js
|
7
|
+
[DEBUG] 2024-10-08 22:32:43 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
8
|
+
[DEBUG] 2024-10-08 22:32:43 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
9
|
+
[INFO] 2024-10-08 22:40:27 load cache from cache/cache.js
|
10
|
+
[INFO] 2024-10-08 22:40:27 load cache from cache/save.js
|
11
|
+
[DEBUG] 2024-10-08 22:40:27 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
12
|
+
[DEBUG] 2024-10-08 22:40:27 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
13
|
+
[INFO] 2024-10-08 22:41:03 load cache from cache/cache.js
|
14
|
+
[INFO] 2024-10-08 22:41:03 load cache from cache/save.js
|
15
|
+
[DEBUG] 2024-10-08 22:41:03 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
16
|
+
[DEBUG] 2024-10-08 22:41:03 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
17
|
+
[INFO] 2024-10-08 22:41:45 load cache from cache/cache.js
|
18
|
+
[INFO] 2024-10-08 22:41:45 load cache from cache/save.js
|
19
|
+
[INFO] 2024-10-08 22:46:53 load cache from cache/cache.js
|
20
|
+
[INFO] 2024-10-08 22:46:53 load cache from cache/save.js
|
21
|
+
[DEBUG] 2024-10-08 22:46:53 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
22
|
+
[DEBUG] 2024-10-08 22:46:53 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
23
|
+
[INFO] 2024-10-08 22:51:36 load cache from cache/cache.js
|
24
|
+
[INFO] 2024-10-08 22:51:36 load cache from cache/save.js
|
25
|
+
[DEBUG] 2024-10-08 22:51:36 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
26
|
+
[DEBUG] 2024-10-08 22:51:36 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
27
|
+
[INFO] 2024-10-08 22:51:57 load cache from cache/cache.js
|
28
|
+
[INFO] 2024-10-08 22:51:57 load cache from cache/save.js
|
29
|
+
[DEBUG] 2024-10-08 22:51:57 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
30
|
+
[DEBUG] 2024-10-08 22:51:57 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
31
|
+
[INFO] 2024-10-08 22:52:32 load cache from cache/cache.js
|
32
|
+
[INFO] 2024-10-08 22:52:32 load cache from cache/save.js
|
33
|
+
[DEBUG] 2024-10-08 22:52:32 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
34
|
+
[DEBUG] 2024-10-08 22:52:32 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
35
|
+
[INFO] 2024-10-08 22:52:42 load cache from cache/cache.js
|
36
|
+
[INFO] 2024-10-08 22:52:42 load cache from cache/save.js
|
37
|
+
[DEBUG] 2024-10-08 22:52:42 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
38
|
+
[DEBUG] 2024-10-08 22:52:42 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
39
|
+
[INFO] 2024-10-08 22:52:58 load cache from cache/cache.js
|
40
|
+
[INFO] 2024-10-08 22:52:58 load cache from cache/save.js
|
41
|
+
[DEBUG] 2024-10-08 22:52:58 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
42
|
+
[DEBUG] 2024-10-08 22:52:58 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
43
|
+
[INFO] 2024-10-08 22:55:35 load cache from cache/cache.js
|
44
|
+
[INFO] 2024-10-08 22:55:35 load cache from cache/save.js
|
45
|
+
[DEBUG] 2024-10-08 22:55:35 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
46
|
+
[DEBUG] 2024-10-08 22:55:35 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
47
|
+
[INFO] 2024-10-08 22:57:52 load cache from cache/cache.js
|
48
|
+
[INFO] 2024-10-08 22:57:52 load cache from cache/save.js
|
49
|
+
[DEBUG] 2024-10-08 22:57:52 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
50
|
+
[DEBUG] 2024-10-08 22:57:52 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
51
|
+
[INFO] 2024-10-08 22:59:12 load cache from cache/cache.js
|
52
|
+
[INFO] 2024-10-08 22:59:12 load cache from cache/save.js
|
53
|
+
[DEBUG] 2024-10-08 22:59:12 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
54
|
+
[DEBUG] 2024-10-08 22:59:12 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
55
|
+
[INFO] 2024-10-08 22:59:25 load cache from cache/cache.js
|
56
|
+
[INFO] 2024-10-08 22:59:25 load cache from cache/save.js
|
57
|
+
[DEBUG] 2024-10-08 22:59:25 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
58
|
+
[DEBUG] 2024-10-08 22:59:25 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
59
|
+
[INFO] 2024-10-08 23:00:02 load cache from cache/cache.js
|
60
|
+
[INFO] 2024-10-08 23:00:02 load cache from cache/save.js
|
61
|
+
[DEBUG] 2024-10-08 23:00:02 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
62
|
+
[DEBUG] 2024-10-08 23:00:02 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
63
|
+
[INFO] 2024-10-08 23:01:21 load cache from cache/cache.js
|
64
|
+
[INFO] 2024-10-08 23:01:21 load cache from cache/save.js
|
65
|
+
[DEBUG] 2024-10-08 23:01:21 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
66
|
+
[DEBUG] 2024-10-08 23:01:21 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
67
|
+
[INFO] 2024-10-08 23:01:33 load cache from cache/cache.js
|
68
|
+
[INFO] 2024-10-08 23:01:33 load cache from cache/save.js
|
69
|
+
[DEBUG] 2024-10-08 23:01:33 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
70
|
+
[DEBUG] 2024-10-08 23:01:33 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
71
|
+
[DEBUG] 2024-10-08 23:01:33 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
72
|
+
[DEBUG] 2024-10-08 23:01:33 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
73
|
+
[INFO] 2024-10-08 23:02:10 load cache from cache/cache.js
|
74
|
+
[INFO] 2024-10-08 23:02:10 load cache from cache/save.js
|
75
|
+
[DEBUG] 2024-10-08 23:02:10 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
76
|
+
[DEBUG] 2024-10-08 23:02:10 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
77
|
+
[DEBUG] 2024-10-08 23:02:10 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
78
|
+
[DEBUG] 2024-10-08 23:02:10 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
79
|
+
[INFO] 2024-10-08 23:02:23 load cache from cache/cache.js
|
80
|
+
[INFO] 2024-10-08 23:02:23 load cache from cache/save.js
|
81
|
+
[DEBUG] 2024-10-08 23:02:23 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
82
|
+
[DEBUG] 2024-10-08 23:02:23 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
83
|
+
[DEBUG] 2024-10-08 23:02:23 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
84
|
+
[DEBUG] 2024-10-08 23:02:23 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
85
|
+
[INFO] 2024-10-08 23:04:41 load cache from cache/cache.js
|
86
|
+
[INFO] 2024-10-08 23:04:41 load cache from cache/save.js
|
87
|
+
[DEBUG] 2024-10-08 23:04:41 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
88
|
+
[DEBUG] 2024-10-08 23:04:41 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
89
|
+
[DEBUG] 2024-10-08 23:04:41 request response: <html>
|
90
|
+
<head>
|
91
|
+
<script>
|
92
|
+
location.replace(location.href.replace("https://","http://"));
|
93
|
+
</script>
|
94
|
+
</head>
|
95
|
+
<body>
|
96
|
+
<noscript><meta http-equiv="refresh" content="0;url=http://www.baidu.com/"></noscript>
|
97
|
+
</body>
|
98
|
+
</html>
|
99
|
+
[DEBUG] 2024-10-08 23:04:42 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
100
|
+
[DEBUG] 2024-10-08 23:04:42 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
101
|
+
[DEBUG] 2024-10-08 23:04:42 request response: <html>
|
102
|
+
<head>
|
103
|
+
<script>
|
104
|
+
location.replace(location.href.replace("https://","http://"));
|
105
|
+
</script>
|
106
|
+
</head>
|
107
|
+
<body>
|
108
|
+
<noscript><meta http-equiv="refresh" content="0;url=http://www.baidu.com/"></noscript>
|
109
|
+
</body>
|
110
|
+
</html>
|
111
|
+
[INFO] 2024-10-08 23:06:37 load cache from cache/cache.js
|
112
|
+
[INFO] 2024-10-08 23:06:37 load cache from cache/save.js
|
113
|
+
[DEBUG] 2024-10-08 23:06:37 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
114
|
+
[DEBUG] 2024-10-08 23:06:37 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
115
|
+
[DEBUG] 2024-10-08 23:06:38 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
116
|
+
[DEBUG] 2024-10-08 23:06:38 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
117
|
+
[INFO] 2024-10-08 23:07:37 load cache from cache/cache.js
|
118
|
+
[INFO] 2024-10-08 23:07:37 load cache from cache/save.js
|
119
|
+
[DEBUG] 2024-10-08 23:07:37 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
120
|
+
[DEBUG] 2024-10-08 23:07:37 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
121
|
+
[INFO] 2024-10-08 23:38:45 load cache from cache/cache.js
|
122
|
+
[INFO] 2024-10-08 23:38:45 load cache from cache/save.js
|
123
|
+
[DEBUG] 2024-10-08 23:38:45 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
124
|
+
[DEBUG] 2024-10-08 23:38:45 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
125
|
+
[DEBUG] 2024-10-08 23:38:46 test data: {'note': 'test', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl'}, 'save': {'result.code': 'result.code'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|
126
|
+
[DEBUG] 2024-10-08 23:38:46 test data: {'note': 'test1', 'url': 'test', 'type': 'http.get', 'data': {'url': 'tmpurl', 'val': 1}, 'save': {'test.url': 'data.url'}, 'result': {'code': 1.99}, 'verify': ['result.code, [>, 1]']}
|