buildz 0.6.41__tar.gz → 0.6.43__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.41/buildz.egg-info → buildz-0.6.43}/PKG-INFO +8 -1
- {buildz-0.6.41 → buildz-0.6.43}/README.md +7 -0
- buildz-0.6.43/buildz/argz/__init__.py +3 -0
- buildz-0.6.43/buildz/argz/argz.py +223 -0
- buildz-0.6.43/buildz/argz/build.py +48 -0
- buildz-0.6.43/buildz/argz/callz.py +115 -0
- buildz-0.6.43/buildz/argz/evalx.py +30 -0
- buildz-0.6.43/buildz/argz/test.py +26 -0
- buildz-0.6.43/buildz/argz/test_obj.py +38 -0
- buildz-0.6.43/buildz/argz/tests/conf.js +31 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/clickhousez.py +3 -0
- buildz-0.6.43/buildz/evalz/__init__.py +2 -0
- buildz-0.6.43/buildz/evalz/evalz.py +175 -0
- buildz-0.6.43/buildz/evalz/res/default.js +12 -0
- buildz-0.6.43/buildz/evalz/test.py +32 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/pathz.py +6 -1
- buildz-0.6.43/buildz/tools.py +5 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/time/timez.py +7 -2
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/__init__.py +1 -1
- buildz-0.6.43/buildz/xf/base.py +28 -0
- buildz-0.6.43/buildz/xf/loaderz/base.py +40 -0
- buildz-0.6.43/buildz/xf/loaderz/buffer.py +165 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/listmapz.py +58 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/listz.py +33 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/lr.py +70 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/lrval.py +43 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/mapz.py +43 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/nextz.py +26 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/reval.py +33 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/spt.py +40 -0
- buildz-0.6.43/buildz/xf/loaderz/deal/strz.py +109 -0
- buildz-0.6.43/buildz/xf/loaderz/exp.py +26 -0
- buildz-0.6.43/buildz/xf/loaderz/item.py +70 -0
- buildz-0.6.43/buildz/xf/loaderz/mg.py +123 -0
- buildz-0.6.43/buildz/xf/loaderz/test.py +112 -0
- buildz-0.6.43/buildz/xf/loaderz/test1.py +11 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/listmapz.py +1 -27
- buildz-0.6.43/buildz/xf/loaderz_nexp/deal/setz.py +15 -0
- buildz-0.6.43/buildz/xf/loaderz_nexp/deal/spc.py +20 -0
- buildz-0.6.43/buildz/xf/loaderz_nexp/deal/strz_new.py +284 -0
- buildz-0.6.43/buildz/xf/loaderz_nexp/deal/strz_old.py +197 -0
- buildz-0.6.43/buildz/xf/loaderz_nexp/pos.py +51 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/test.py +11 -5
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/readz.py +9 -6
- buildz-0.6.43/buildz/xf/readz_nexp.py +179 -0
- buildz-0.6.43/buildz/xf/writerz/base.py +58 -0
- buildz-0.6.43/buildz/xf/writerz/conf.py +56 -0
- buildz-0.6.43/buildz/xf/writerz/deal/jsonval.py +16 -0
- buildz-0.6.43/buildz/xf/writerz/deal/listmapz.py +53 -0
- buildz-0.6.43/buildz/xf/writerz/deal/listz.py +31 -0
- buildz-0.6.43/buildz/xf/writerz/deal/mapz.py +39 -0
- buildz-0.6.43/buildz/xf/writerz/deal/reval.py +20 -0
- buildz-0.6.43/buildz/xf/writerz/deal/strz.py +49 -0
- buildz-0.6.43/buildz/xf/writerz/itemz.py +50 -0
- buildz-0.6.43/buildz/xf/writerz/mg.py +37 -0
- buildz-0.6.43/buildz/xf/writerz/test.py +71 -0
- buildz-0.6.43/buildz/xf/writerz/testx.py +44 -0
- buildz-0.6.43/buildz/xf/writez.py +68 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/xargs.py +3 -3
- {buildz-0.6.41 → buildz-0.6.43/buildz.egg-info}/PKG-INFO +8 -1
- {buildz-0.6.41 → buildz-0.6.43}/buildz.egg-info/SOURCES.txt +47 -1
- {buildz-0.6.41 → buildz-0.6.43}/setup.py +1 -1
- buildz-0.6.41/buildz/argz/__init__.py +0 -0
- buildz-0.6.41/buildz/argz/args.py +0 -19
- buildz-0.6.41/buildz/tools.py +0 -5
- {buildz-0.6.41 → buildz-0.6.43}/LICENSE +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/MANIFEST.in +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/__main__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/argx.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/cache.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/config.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/dbs.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/deal.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/deal_list.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/deal_type.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/defs.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/factory.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/init.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/log.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/request.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/run.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/save.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/cache/cache.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/config/base.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/config/config.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/fp.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/item1.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/item2.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/test.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/test.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/xtest.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/verify.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/base.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/cachez/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/cachez/cache.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/cmd.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/confz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/__main__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/mysqlz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/oraclez.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/orm.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/postgresqlz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/sqlite3z.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/install.txt +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/run.conf +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/runz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/db/tls.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/test.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/fio.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/html/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/html/test/demo.html +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/html/test/test.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/html/xml.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/base.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/init.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/base.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/confs.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/decorator.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/loads.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/branch.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/init.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/map.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/obj.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/refs.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/wrap.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/logz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/pyz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/test_xfind.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/time/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/base.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/getch.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/lx.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/test.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/win.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/xfind.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/code.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/file.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/base.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/buffer.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/listz.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/lr.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/lrval.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/mapz.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/nextz.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/reval.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/spt.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/strz.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/exp.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/item.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/mg.py +0 -0
- {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/test1.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/read.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/stack.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/write.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/listmapz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/__init__.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/conf.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/data.js +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/test.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/trs.py +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.41 → buildz-0.6.43}/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.43
|
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
|
@@ -38,6 +38,13 @@ Codes of this project are not allowed to be used for AI training or any other fo
|
|
38
38
|
运行python -m buildz查看帮助
|
39
39
|
|
40
40
|
持续更新中。。。
|
41
|
+
2025/01/21:
|
42
|
+
修改xf的读写,读加上报错字符串位置,写改成递归调用减少时间开销
|
43
|
+
2025/01/17:
|
44
|
+
加了argz模块和evalz模块
|
45
|
+
argz模块用于命令行参数匹配
|
46
|
+
evalz模块用于可配置真假判断
|
47
|
+
命令行还差一个入参转map的
|
41
48
|
2024/12/22:
|
42
49
|
增加pathz模块,方便处理路径,修改ioc和db
|
43
50
|
2024/12/18:
|
@@ -25,6 +25,13 @@ Codes of this project are not allowed to be used for AI training or any other fo
|
|
25
25
|
运行python -m buildz查看帮助
|
26
26
|
|
27
27
|
持续更新中。。。
|
28
|
+
2025/01/21:
|
29
|
+
修改xf的读写,读加上报错字符串位置,写改成递归调用减少时间开销
|
30
|
+
2025/01/17:
|
31
|
+
加了argz模块和evalz模块
|
32
|
+
argz模块用于命令行参数匹配
|
33
|
+
evalz模块用于可配置真假判断
|
34
|
+
命令行还差一个入参转map的
|
28
35
|
2024/12/22:
|
29
36
|
增加pathz模块,方便处理路径,修改ioc和db
|
30
37
|
2024/12/18:
|
@@ -0,0 +1,223 @@
|
|
1
|
+
from buildz import Base, xf
|
2
|
+
from . import build
|
3
|
+
class ArgExp(Exception):
|
4
|
+
def __repr__(self):
|
5
|
+
return self.__str__()
|
6
|
+
def __str__(self):
|
7
|
+
return f"stype: {self.stype}, trs: {self.trs}, des: {self.des}"
|
8
|
+
def __init__(self, stype, trs, des=None, prev = None):
|
9
|
+
super().__init__()
|
10
|
+
self.prev = prev
|
11
|
+
self.stype = stype
|
12
|
+
self.trs = trs
|
13
|
+
self.des = des
|
14
|
+
|
15
|
+
pass
|
16
|
+
class Args(Base):
|
17
|
+
def call(self, args, maps):
|
18
|
+
return args, maps
|
19
|
+
def deal_exp(self, exp):
|
20
|
+
return exp
|
21
|
+
|
22
|
+
pass
|
23
|
+
class ArrArgs(Args):
|
24
|
+
def init(self, args = None):
|
25
|
+
if args is None:
|
26
|
+
args = []
|
27
|
+
self.args = args
|
28
|
+
def add(self, item):
|
29
|
+
self.args.append(item)
|
30
|
+
return self
|
31
|
+
def call(self, args, maps):
|
32
|
+
i=0
|
33
|
+
try:
|
34
|
+
for i in range(len(self.args)):
|
35
|
+
item = self.args[i]
|
36
|
+
args, maps = item(args,maps)
|
37
|
+
except ArgExp as exp:
|
38
|
+
for j in range(i-1, -1, -1):
|
39
|
+
exp = self.args[j].deal_exp(exp)
|
40
|
+
raise exp
|
41
|
+
return args, maps
|
42
|
+
def deal_exp(self, exp):
|
43
|
+
for i in range(len(self.args)-1, -1, -1):
|
44
|
+
exp = self.args[i].deal_exp(exp)
|
45
|
+
return exp
|
46
|
+
class RangeListArgs(Args):
|
47
|
+
def init(self, min = 0, max = None):
|
48
|
+
self.min = min
|
49
|
+
self.max = max
|
50
|
+
def deal_exp(self, exp):
|
51
|
+
trs = set()
|
52
|
+
for key, vtype in exp.trs:
|
53
|
+
if vtype=='list':
|
54
|
+
trs.add((key+self.min, vtype))
|
55
|
+
else:
|
56
|
+
trs.add((key, vtype))
|
57
|
+
#exp.trs = trs
|
58
|
+
return ArgExp(exp.stype, trs, exp.des, exp)
|
59
|
+
def call(self, args, maps):
|
60
|
+
if len(args)<self.min:
|
61
|
+
raise ArgExp("need", set([(self.min, 'list')]))
|
62
|
+
if self.max is None:
|
63
|
+
args = args[self.min:]
|
64
|
+
else:
|
65
|
+
args = args[self.min:self.max]
|
66
|
+
return args, maps
|
67
|
+
class RangeListBuild(build.Build):
|
68
|
+
def call(self, conf):
|
69
|
+
rg = xf.g(conf, range=None)
|
70
|
+
if rg is None:
|
71
|
+
return None
|
72
|
+
if type(rg)==int:
|
73
|
+
rg = [rg, None]
|
74
|
+
return RangeListArgs(*rg)
|
75
|
+
class ArgItem(Base):
|
76
|
+
# vtype = 'dict' | 'list'
|
77
|
+
def init(self, key, vtype="dict", need = False, default = False, value = None, des = None,remove=True):
|
78
|
+
self.vtype = vtype
|
79
|
+
self.key = key
|
80
|
+
self.need = need
|
81
|
+
self.default = default
|
82
|
+
self.value = value
|
83
|
+
self.trs = []
|
84
|
+
self.remove = remove
|
85
|
+
if des is None:
|
86
|
+
des = key
|
87
|
+
self.des = des
|
88
|
+
def add(self, key, vtype="dict"):
|
89
|
+
self.trs.append((key, vtype))
|
90
|
+
return self
|
91
|
+
def deal_exp(self, exp):
|
92
|
+
trs = set()
|
93
|
+
for key, vtype in exp.trs:
|
94
|
+
if key == self.key and vtype==self.vtype:
|
95
|
+
trs.update(self.trs)
|
96
|
+
else:
|
97
|
+
trs.add((key, vtype))
|
98
|
+
#exp.trs = trs
|
99
|
+
return ArgExp(exp.stype, trs, exp.des, exp)
|
100
|
+
return exp
|
101
|
+
def call(self, set_args, args, maps, rst_args, rst_maps):
|
102
|
+
val = None
|
103
|
+
find = False
|
104
|
+
for key, vtype in self.trs:
|
105
|
+
if vtype =="dict":
|
106
|
+
if key in maps:
|
107
|
+
val = maps[key]
|
108
|
+
if self.remove:
|
109
|
+
del maps[key]
|
110
|
+
find = True
|
111
|
+
break
|
112
|
+
else:
|
113
|
+
if key in set_args:
|
114
|
+
val = args[key]
|
115
|
+
if self.remove:
|
116
|
+
set_args.remove(key)
|
117
|
+
find = True
|
118
|
+
break
|
119
|
+
if not find:
|
120
|
+
if self.default:
|
121
|
+
find = True
|
122
|
+
val = self.value
|
123
|
+
if not find and self.need:
|
124
|
+
raise ArgExp("need", set(self.trs), self.des)
|
125
|
+
if self.vtype == 'dict':
|
126
|
+
rst_maps[self.key] = val
|
127
|
+
else:
|
128
|
+
rst_args[self.key] = val
|
129
|
+
|
130
|
+
pass
|
131
|
+
class ArgItemBuild(build.Build):
|
132
|
+
def call(self, key, vtype, conf):
|
133
|
+
need = xf.g(conf, need=False)
|
134
|
+
default = xf.g(conf, default=False)
|
135
|
+
value = xf.g(conf, value=None)
|
136
|
+
des = xf.g(conf, des=None)
|
137
|
+
remove = xf.g(conf, remove=True)
|
138
|
+
src = conf['src']
|
139
|
+
if type(src) not in (list, tuple):
|
140
|
+
src = [src]
|
141
|
+
item = ArgItem(key, vtype, need, default, value, des, remove)
|
142
|
+
for s in src:
|
143
|
+
if type(s) not in (list, tuple):
|
144
|
+
if type(s)==int:
|
145
|
+
s = [s, 'list']
|
146
|
+
else:
|
147
|
+
s = [s, 'dict']
|
148
|
+
if s[1] in ('l', 'args'):
|
149
|
+
s[1] = 'list'
|
150
|
+
elif s[1] in ('d', 'maps'):
|
151
|
+
s[1] = 'dict'
|
152
|
+
item.add(*s)
|
153
|
+
return item
|
154
|
+
class TrsArgs(Args):
|
155
|
+
def deal_exp(self, exp):
|
156
|
+
for item in self.args:
|
157
|
+
exp = item.deal_exp(exp)
|
158
|
+
return exp
|
159
|
+
def init(self, args=None, keep = True):
|
160
|
+
super().init()
|
161
|
+
if args is None:
|
162
|
+
args = []
|
163
|
+
self.args = args
|
164
|
+
self.keep = keep
|
165
|
+
def add(self, item):
|
166
|
+
self.args.append(item)
|
167
|
+
return self
|
168
|
+
def call(self, args, maps):
|
169
|
+
rst_args, rst_maps = {}, {}
|
170
|
+
set_args = set(range(len(args)))
|
171
|
+
for item in self.args:
|
172
|
+
item(set_args, args, maps, rst_args, rst_maps)
|
173
|
+
l_args = 0
|
174
|
+
if len(rst_args)>0:
|
175
|
+
l_args= max(rst_args.keys())
|
176
|
+
out_args = []
|
177
|
+
if self.keep and len(set_args)>0:
|
178
|
+
for i in range(max(set_args)):
|
179
|
+
if i in set_args:
|
180
|
+
out_args.append(args[i])
|
181
|
+
for i in range(l_args+1):
|
182
|
+
if i in rst_args:
|
183
|
+
if len(out_args)<i:
|
184
|
+
raise ArgExp("need", set([(i, 'list')]))
|
185
|
+
out_args.append(rst_args[i])
|
186
|
+
if self.keep:
|
187
|
+
for k in maps:
|
188
|
+
if k not in rst_maps:
|
189
|
+
rst_maps[k] = maps[k]
|
190
|
+
return out_args, rst_maps
|
191
|
+
|
192
|
+
pass
|
193
|
+
class TrsArgsBuild(build.Build):
|
194
|
+
def init(self):
|
195
|
+
self.item = ArgItemBuild()
|
196
|
+
super().init(self.item)
|
197
|
+
def call(self, conf):
|
198
|
+
keep = xf.g(conf, keep = False)
|
199
|
+
lst = xf.g1(conf, list={}, args={})
|
200
|
+
dct = xf.g1(conf, dict={}, maps={})
|
201
|
+
items = []
|
202
|
+
for k, val in lst.items():
|
203
|
+
items.append(self.item(k, 'list', val))
|
204
|
+
for k, val in dct.items():
|
205
|
+
items.append(self.item(k, 'dict', val))
|
206
|
+
if len(items)==0:
|
207
|
+
return None
|
208
|
+
return TrsArgs(items, keep)
|
209
|
+
class ArrArgsBuild(build.Build):
|
210
|
+
def init(self):
|
211
|
+
self.range = RangeListBuild()
|
212
|
+
self.trs = TrsArgsBuild()
|
213
|
+
super().init(self.trs, self.range)
|
214
|
+
def call(self, conf):
|
215
|
+
rg = self.range(conf)
|
216
|
+
trs = self.trs(conf)
|
217
|
+
if rg is None and trs is None:
|
218
|
+
return None
|
219
|
+
arr = [rg, trs]
|
220
|
+
arr = [k for k in arr if k is not None]
|
221
|
+
if len(arr)==1:
|
222
|
+
return arr[0]
|
223
|
+
return ArrArgs(arr)
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#
|
2
|
+
from buildz import Base, xf
|
3
|
+
class Build(Base):
|
4
|
+
def init(self, *binds):
|
5
|
+
self.builder = None
|
6
|
+
self.binds = binds
|
7
|
+
def bind(self, builder):
|
8
|
+
self.builder = builder
|
9
|
+
for obj in self.binds:
|
10
|
+
obj.bind(builder)
|
11
|
+
def call(self, conf):
|
12
|
+
assert 0, 'not impl'
|
13
|
+
class Builder(Base):
|
14
|
+
def init(self, fc = None, key_id = "id"):
|
15
|
+
self.vars = {}
|
16
|
+
self.confs = {}
|
17
|
+
self.key_id = key_id
|
18
|
+
self.set_fc(fc)
|
19
|
+
def set_fc(self, fc):
|
20
|
+
fc.bind(self)
|
21
|
+
self.fc = fc
|
22
|
+
return self
|
23
|
+
def var(self, key, obj):
|
24
|
+
self.vars[key] = obj
|
25
|
+
return self
|
26
|
+
def get_var(self, key):
|
27
|
+
return self.vars[key]
|
28
|
+
def get_conf(self, key):
|
29
|
+
if type(key) == dict:
|
30
|
+
conf = key
|
31
|
+
else:
|
32
|
+
if key not in self.confs:
|
33
|
+
return self.get_var(key)
|
34
|
+
conf = self.confs[key]
|
35
|
+
return self.fc(conf)
|
36
|
+
def conf(self, data):
|
37
|
+
if type(data) in (list, tuple):
|
38
|
+
rst = {}
|
39
|
+
for it in data:
|
40
|
+
if self.key_id not in it:
|
41
|
+
continue
|
42
|
+
id = it[self.key_id]
|
43
|
+
rst[id] = it
|
44
|
+
data = rst
|
45
|
+
self.confs = data
|
46
|
+
return self
|
47
|
+
def call(self, data, key="main"):
|
48
|
+
return self.conf(data).get_conf(key)
|
@@ -0,0 +1,115 @@
|
|
1
|
+
from buildz import Base, xf
|
2
|
+
from . import argz
|
3
|
+
from . import build
|
4
|
+
from . import evalx
|
5
|
+
class Fc(Base):
|
6
|
+
def str(self):
|
7
|
+
return str(self.fc)
|
8
|
+
def init(self, fc=None):
|
9
|
+
self.fc = fc
|
10
|
+
def call(self, args, maps):
|
11
|
+
return self.fc(*args, **maps)
|
12
|
+
@staticmethod
|
13
|
+
def make(fc):
|
14
|
+
if isinstance(fc, Fc):
|
15
|
+
return fc
|
16
|
+
return Fc(fc)
|
17
|
+
class ArgsCall(Fc):
|
18
|
+
def init(self, fc, args=None, name = None):
|
19
|
+
fc=self.make(fc)
|
20
|
+
if name is None:
|
21
|
+
name = str(fc)
|
22
|
+
self.name = name
|
23
|
+
self.fc = fc
|
24
|
+
self.args = args
|
25
|
+
def call(self, args, maps):
|
26
|
+
if self.args is not None:
|
27
|
+
args, maps = self.args(args, maps)
|
28
|
+
try:
|
29
|
+
return self.fc(args, maps)
|
30
|
+
except argz.ArgExp as exp:
|
31
|
+
if self.args is not None:
|
32
|
+
exp = self.args.deal_exp(exp)
|
33
|
+
raise exp
|
34
|
+
class Calls(Fc):
|
35
|
+
def str(self):
|
36
|
+
return "argz.Calls"
|
37
|
+
def init(self, fcs = None, args=None, name = None):
|
38
|
+
if name is None:
|
39
|
+
name = "argz.calls"
|
40
|
+
self.name = name
|
41
|
+
if fcs is None:
|
42
|
+
fcs = []
|
43
|
+
self.fcs = fcs
|
44
|
+
self.args = args
|
45
|
+
def add(self, fc):
|
46
|
+
fc=self.make(fc)
|
47
|
+
self.fcs.append(fc)
|
48
|
+
def call(self, args, maps):
|
49
|
+
val = None
|
50
|
+
if self.args is not None:
|
51
|
+
args, maps = self.args(args, maps)
|
52
|
+
try:
|
53
|
+
for fc in self.fcs:
|
54
|
+
val = fc(args, maps)
|
55
|
+
return val
|
56
|
+
except argz.ArgExp as exp:
|
57
|
+
if self.args is not None:
|
58
|
+
exp = self.args.deal_exp(exp)
|
59
|
+
raise exp
|
60
|
+
class EvalCall(Fc):
|
61
|
+
def init(self, fc, eval=None, name = None):
|
62
|
+
fc=self.make(fc)
|
63
|
+
if name is None:
|
64
|
+
name = str(fc)
|
65
|
+
self.eval = eval
|
66
|
+
self.fc = fc
|
67
|
+
self.name = name
|
68
|
+
def call(self, args, maps):
|
69
|
+
if self.eval is not None:
|
70
|
+
if not self.eval([args, maps]):
|
71
|
+
return None
|
72
|
+
return self.fc(args, maps)
|
73
|
+
class CallsBuild(build.Build):
|
74
|
+
def call(self, conf):
|
75
|
+
ctype = xf.g(conf, type=None)
|
76
|
+
if ctype != "calls":
|
77
|
+
return None
|
78
|
+
calls = xf.g(conf, calls = [])
|
79
|
+
if len(calls)==0:
|
80
|
+
return None
|
81
|
+
calls = [self.builder.get_conf(conf) for conf in calls]
|
82
|
+
return Calls(calls)
|
83
|
+
class FcBuild(build.Build):
|
84
|
+
def call(self, conf):
|
85
|
+
ctype = xf.g(conf, type=None)
|
86
|
+
if ctype != "call":
|
87
|
+
return None
|
88
|
+
src = xf.g(conf, src = None)
|
89
|
+
fc = self.builder.get_var(src)
|
90
|
+
return Fc(fc)
|
91
|
+
class CallBuild(build.Build):
|
92
|
+
def init(self):
|
93
|
+
self.args = argz.ArrArgsBuild()
|
94
|
+
self.eval = evalx.EvalBuild()
|
95
|
+
self.fc = FcBuild()
|
96
|
+
self.calls = CallsBuild()
|
97
|
+
super().init(self.args, self.eval, self.fc, self.calls)
|
98
|
+
def call(self, conf):
|
99
|
+
args = self.args(conf)
|
100
|
+
judges = self.eval(conf)
|
101
|
+
fc = self.fc(conf)
|
102
|
+
calls = self.calls(conf)
|
103
|
+
bfc = fc is None
|
104
|
+
bcls = calls is None
|
105
|
+
assert (bfc+bcls)==1
|
106
|
+
if fc is None:
|
107
|
+
fc = calls
|
108
|
+
if args is not None:
|
109
|
+
fc = ArgsCall(fc, args)
|
110
|
+
if judges is not None:
|
111
|
+
fc = EvalCall(fc, judges)
|
112
|
+
return fc
|
113
|
+
class CallBuilder(build.Builder):
|
114
|
+
def init(self, key_id = "id"):
|
115
|
+
super().init(CallBuild(), key_id)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#
|
2
|
+
from buildz import evalz,xf
|
3
|
+
|
4
|
+
from . import build
|
5
|
+
class VarEval(evalz.Eval):
|
6
|
+
def init(self, key, stype = 'list'):
|
7
|
+
self.key = key
|
8
|
+
self.stype = stype
|
9
|
+
def call(self, obj):
|
10
|
+
args, maps = obj
|
11
|
+
if self.stype=='list':
|
12
|
+
return args[self.key]
|
13
|
+
return maps[self.key]
|
14
|
+
class VarBuild(evalz.Build):
|
15
|
+
def init(self, stype="list"):
|
16
|
+
super().init()
|
17
|
+
self.stype = stype
|
18
|
+
def call(self, data):
|
19
|
+
return VarEval(data['data'][0], self.stype)
|
20
|
+
lb = VarBuild('list')
|
21
|
+
db = VarBuild('dict')
|
22
|
+
evalBuilder = evalz.EvalBuilder.Make().set(["l","list","args"], lb).set(['d','dict','maps'], db)
|
23
|
+
class EvalBuild(build.Build):
|
24
|
+
def call(self, conf):
|
25
|
+
judge = xf.g1(conf, judge=None, eval=None)
|
26
|
+
if judge is None:
|
27
|
+
return None
|
28
|
+
return evalBuilder(judge)
|
29
|
+
|
30
|
+
pass
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from buildz import argz,xf,Base,evalz,pathz
|
2
|
+
import sys,os
|
3
|
+
|
4
|
+
path = pathz.Path()
|
5
|
+
path.set("res", path(path.dir(__file__), "tests"))
|
6
|
+
conf = xf.loadf(path.res("conf.js"))
|
7
|
+
|
8
|
+
def search(dp, filepath = None, content = None):
|
9
|
+
print(f"call in search: ({dp}, {filepath}, {content})")
|
10
|
+
return f"call in search {dp}"
|
11
|
+
|
12
|
+
pass
|
13
|
+
|
14
|
+
|
15
|
+
mg = argz.CallBuilder().var("search", search)
|
16
|
+
fc = mg(conf)
|
17
|
+
|
18
|
+
ins = xf.args(base=0)
|
19
|
+
args, maps = ins.args, ins.maps
|
20
|
+
|
21
|
+
rst = fc(args, maps)
|
22
|
+
print(f"rst: {rst}")
|
23
|
+
'''
|
24
|
+
python -m buildz.argz.test search /d/rootz
|
25
|
+
python -m buildz.argz.test search /d/rootz f=asf c=test
|
26
|
+
'''
|
@@ -0,0 +1,38 @@
|
|
1
|
+
from buildz import argz,xf,Base,evalz,pathz
|
2
|
+
'''
|
3
|
+
python -m buildz.argz.test search /d/rootz
|
4
|
+
python -m buildz.argz.test_obj search /d/rootz f=asf c=test
|
5
|
+
'''
|
6
|
+
|
7
|
+
def search(dp, filepath = None, content = None):
|
8
|
+
print(f"call in search: ({dp}, {filepath}, {content})")
|
9
|
+
return f"call in search {dp}"
|
10
|
+
|
11
|
+
pass
|
12
|
+
|
13
|
+
args = argz.ArrArgs().add(
|
14
|
+
argz.RangeListArgs(1)
|
15
|
+
)
|
16
|
+
trs = argz.TrsArgs().add(
|
17
|
+
argz.ArgItem("filepath", "dict").add("f", "dict").add("fp", "dict").add("filepath", "dict")
|
18
|
+
).add(
|
19
|
+
argz.ArgItem(0, "list",need=True,des="path").add(0, "list")
|
20
|
+
).add(
|
21
|
+
argz.ArgItem("content", "dict").add("c", "dict").add("ct", "dict").add("content", "dict")
|
22
|
+
)
|
23
|
+
args.add(trs)
|
24
|
+
fc = argz.ArgsCall(search, args)
|
25
|
+
judge = lambda obj:obj[0][0]=='search'
|
26
|
+
fc = argz.EvalCall(fc, judge)
|
27
|
+
fcs = argz.Calls([fc])
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
main_args = argz.ArrArgs().add(argz.RangeListArgs(1))
|
32
|
+
main = argz.ArgsCall(fcs, main_args)
|
33
|
+
|
34
|
+
|
35
|
+
ins = xf.args(base=0)
|
36
|
+
args, maps = ins.args, ins.maps
|
37
|
+
rst = main(args, maps)
|
38
|
+
print(rst)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
{
|
2
|
+
id: main
|
3
|
+
type: calls
|
4
|
+
range: 1
|
5
|
+
calls: [
|
6
|
+
search
|
7
|
+
]
|
8
|
+
}
|
9
|
+
{
|
10
|
+
id: search
|
11
|
+
type: call
|
12
|
+
src: search
|
13
|
+
judge: ['=', args[0], search]
|
14
|
+
range: 1
|
15
|
+
keep: 1
|
16
|
+
list: {
|
17
|
+
0: {
|
18
|
+
des: path
|
19
|
+
need: 1
|
20
|
+
src: 0
|
21
|
+
}
|
22
|
+
}
|
23
|
+
maps: {
|
24
|
+
filepath: {
|
25
|
+
src: [f, fp, filepath]
|
26
|
+
}
|
27
|
+
content: {
|
28
|
+
src: [c, ct, content]
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
@@ -10,6 +10,9 @@ from .basez import SimpleDv, fetch
|
|
10
10
|
from .structz import CMD
|
11
11
|
class Db(SimpleDv):
|
12
12
|
# func to impl:
|
13
|
+
def query(self, sql, vals={}, as_map = None):
|
14
|
+
assert len(vals)==0
|
15
|
+
return super().query(sql, {}, as_map)
|
13
16
|
def to_list(self, rst):
|
14
17
|
rows = self.cursor.description
|
15
18
|
keys = [k[0].lower() for k in rows]
|