buildz 0.6.52__tar.gz → 0.6.54__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.52/buildz.egg-info → buildz-0.6.54}/PKG-INFO +1 -1
- buildz-0.6.54/buildz/argz/tests/conf.js +34 -0
- buildz-0.6.54/buildz/argzx/argz.py +216 -0
- buildz-0.6.54/buildz/argzx/conf_argz.py +118 -0
- buildz-0.6.54/buildz/argzx/test.py +29 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/evalz.py +1 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/conf.py +26 -3
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/mg.py +13 -9
- buildz-0.6.54/buildz/iocz/conf/unit.py +111 -0
- buildz-0.6.54/buildz/iocz/conf_deal/base.py +3 -0
- buildz-0.6.54/buildz/iocz/conf_deal/call.py +34 -0
- buildz-0.6.54/buildz/iocz/conf_deal/cvar.py +28 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/deal.py +2 -2
- buildz-0.6.54/buildz/iocz/conf_deal/env.py +35 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/init.py +27 -2
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/base.py +14 -3
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/confs.py +1 -1
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/datas.py +4 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/dataset.py +18 -20
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/encapes.py +9 -9
- buildz-0.6.54/buildz/iocz/ioc/envs.py +28 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/mg.py +40 -3
- buildz-0.6.54/buildz/iocz/ioc/sys_envs.py +15 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/tdata.py +18 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/tdict.py +4 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/unit.py +23 -4
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/vars.py +1 -0
- buildz-0.6.54/buildz/iocz/ioc_deal/base.py +85 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/deal.py +1 -6
- buildz-0.6.54/buildz/iocz/ioc_deal/obj.py +61 -0
- {buildz-0.6.52/buildz/iocz/conf → buildz-0.6.54/buildz/iocz/test}/test.py +20 -37
- buildz-0.6.54/buildz/iocz/wrap/base.py +60 -0
- buildz-0.6.54/buildz/iocz/wrap/default_wraps.py +14 -0
- buildz-0.6.54/buildz/iocz/wrap/env.py +6 -0
- buildz-0.6.54/buildz/iocz/wrap/obj.py +33 -0
- buildz-0.6.54/buildz/iocz/wrap/wraps.py +79 -0
- {buildz-0.6.52 → buildz-0.6.54/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.6.52 → buildz-0.6.54}/buildz.egg-info/SOURCES.txt +13 -4
- {buildz-0.6.52 → buildz-0.6.54}/setup.py +1 -1
- buildz-0.6.52/buildz/argz/tests/conf.js +0 -31
- buildz-0.6.52/buildz/iocz/conf/unit.py +0 -79
- buildz-0.6.52/buildz/iocz/conf_deal/base.py +0 -2
- buildz-0.6.52/buildz/iocz/ioc/env.py +0 -117
- buildz-0.6.52/buildz/iocz/ioc/envs.py +0 -15
- buildz-0.6.52/buildz/iocz/ioc/test.py +0 -45
- buildz-0.6.52/buildz/iocz/ioc/test1.py +0 -36
- buildz-0.6.52/buildz/iocz/ioc_deal/base.py +0 -44
- buildz-0.6.52/buildz/iocz/ioc_deal/obj.py +0 -69
- {buildz-0.6.52 → buildz-0.6.54}/LICENSE +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/MANIFEST.in +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/README.md +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/__main__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argx.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/argz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/build.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/callz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/evalx.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/test_obj.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/testx.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/cache.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/config.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/dbs.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/deal.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/deal_list.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/deal_type.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/defs.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/factory.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/init.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/log.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/request.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/run.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/save.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/cache/cache.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/config/base.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/config/config.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/fp.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/item1.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/item2.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/test.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/xtest.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/verify.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/cachez/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/cachez/cache.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/cmd.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/confz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/__main__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/clickhousez.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/mysqlz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/oraclez.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/orm.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/postgresqlz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/sqlite3z.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/install.txt +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/run.conf +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/runz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/db/tls.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/dz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/dz/mapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/res/default.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/fio.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/html/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/html/test/demo.html +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/html/test/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/html/xml.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/init.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/confs.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/decorator.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/loads.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/branch.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/init.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/map.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/obj.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/refs.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/wrap.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/up.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/ioc.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/obj.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/ref.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/val.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/builds.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/ids.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/init.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/single.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/ioc.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/ref.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/val.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/logz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/caps.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/mhttp.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/proxy.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/record.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/sslz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/sslz/gen.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/sslz/gen.pyi +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/test/__main__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/test/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/test/test_cli.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/pathz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/pyz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tls.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tools.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/test_xfind.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/time/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/time/timez.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/getch.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/lx.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/win.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/xfind.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/code.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/file.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/listmapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/lrval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/mg.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/buffer.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/exp.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/item.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/mg.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/pos.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test1.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/read.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/readz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/readz_nexp.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/stack.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/write.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/listmapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/base.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/conf.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/jsonval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/listmapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/listz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/mapz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/reval.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/strz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/itemz.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/mg.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/testx.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writez.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/xargs.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/__init__.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/conf.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/data.js +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/test.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/trs.py +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/notes/notes.txt +0 -0
- {buildz-0.6.52 → buildz-0.6.54}/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.54
|
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
|
@@ -0,0 +1,34 @@
|
|
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
|
+
args: [1, [[0,()], [1, ()], {}]]
|
15
|
+
args: {
|
16
|
+
range: 1
|
17
|
+
keep: 1
|
18
|
+
list: {
|
19
|
+
0: {
|
20
|
+
des: path
|
21
|
+
need: 1
|
22
|
+
src: 0
|
23
|
+
}
|
24
|
+
}
|
25
|
+
dict: {
|
26
|
+
filepath: {
|
27
|
+
srcs: [f, fp, filepath]
|
28
|
+
}
|
29
|
+
content: {
|
30
|
+
srcs: [c, ct, content]
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,216 @@
|
|
1
|
+
from .. import Base, xf, dz
|
2
|
+
class ArgExp(Exception):
|
3
|
+
def __repr__(self):
|
4
|
+
return self.__str__()
|
5
|
+
def __str__(self):
|
6
|
+
return f"stype: {self.stype}, trs: {self.trs}, des: {self.des}"
|
7
|
+
def __init__(self, stype, trs, des=None, prev = None):
|
8
|
+
super().__init__()
|
9
|
+
self.prev = prev
|
10
|
+
self.stype = stype
|
11
|
+
self.trs = trs
|
12
|
+
self.des = des
|
13
|
+
|
14
|
+
pass
|
15
|
+
class ArgType:
|
16
|
+
list = 'list'
|
17
|
+
dict='dict'
|
18
|
+
@staticmethod
|
19
|
+
def stand(s):
|
20
|
+
if ArgType.islist(s):
|
21
|
+
return ArgType.list
|
22
|
+
return ArgType.dict
|
23
|
+
@staticmethod
|
24
|
+
def islist(s):
|
25
|
+
return s in ('list','l','lst','args')
|
26
|
+
@staticmethod
|
27
|
+
def isdict(s):
|
28
|
+
return s in ('dict', 'd', 'dct', 'maps')
|
29
|
+
|
30
|
+
pass
|
31
|
+
class Args(Base):
|
32
|
+
'''
|
33
|
+
参数映射基础类
|
34
|
+
'''
|
35
|
+
Type=ArgType
|
36
|
+
def call(self, args, maps):
|
37
|
+
return args, maps
|
38
|
+
def deal_exp(self, exp):
|
39
|
+
return exp
|
40
|
+
|
41
|
+
pass
|
42
|
+
class ArrArgs(Args):
|
43
|
+
'''
|
44
|
+
参数映射类的队列,顺序处理
|
45
|
+
'''
|
46
|
+
def str(self):
|
47
|
+
return f"ArrArgs(args={self.args})"
|
48
|
+
def init(self, args = None):
|
49
|
+
if args is None:
|
50
|
+
args = []
|
51
|
+
self.args = args
|
52
|
+
def add(self, item):
|
53
|
+
self.args.append(item)
|
54
|
+
return self
|
55
|
+
def call(self, args, maps):
|
56
|
+
i=0
|
57
|
+
try:
|
58
|
+
for i in range(len(self.args)):
|
59
|
+
item = self.args[i]
|
60
|
+
args, maps = item(args,maps)
|
61
|
+
except ArgExp as exp:
|
62
|
+
exp = self.deal_exp(exp, i-1)
|
63
|
+
raise exp
|
64
|
+
return args, maps
|
65
|
+
def deal_exp(self, exp, base=None):
|
66
|
+
if base is None:
|
67
|
+
base = len(self.args)-1
|
68
|
+
for i in range(base, -1, -1):
|
69
|
+
exp = self.args[i].deal_exp(exp)
|
70
|
+
return exp
|
71
|
+
class RangeListArgs(Args):
|
72
|
+
'''
|
73
|
+
范围映射
|
74
|
+
'''
|
75
|
+
def str(self):
|
76
|
+
return f"RangeArgs(base={self.base}, last={self.last}, min={self.min})"
|
77
|
+
def init(self, base = 0, last = None, min=0):
|
78
|
+
self.base = base
|
79
|
+
self.last = last
|
80
|
+
self.min = min
|
81
|
+
def deal_exp(self, exp):
|
82
|
+
trs = set()
|
83
|
+
for key, vtype in exp.trs:
|
84
|
+
if ArgType.islist(vtype):
|
85
|
+
trs.add((key+self.base, vtype))
|
86
|
+
else:
|
87
|
+
trs.add((key, vtype))
|
88
|
+
return ArgExp(exp.stype, trs, exp.des, exp)
|
89
|
+
def call(self, args, maps):
|
90
|
+
if self.last is None:
|
91
|
+
args = args[self.base:]
|
92
|
+
else:
|
93
|
+
args = args[self.base:self.last]
|
94
|
+
if len(args)<self.min:
|
95
|
+
raise ArgExp("need", set([(self.base, 'list')]))
|
96
|
+
return args, maps
|
97
|
+
|
98
|
+
|
99
|
+
class ArgItem(Base):
|
100
|
+
'''
|
101
|
+
单个字段映射处理
|
102
|
+
'''
|
103
|
+
# vtype = 'dict' | 'list'
|
104
|
+
def init(self, key, vtype=ArgType.dict, need = False, default = False, default_value = None, des = None,remove=True):
|
105
|
+
self.vtype = vtype
|
106
|
+
self.key = key
|
107
|
+
self.need = need
|
108
|
+
self.default = default
|
109
|
+
self.default_value = default_value
|
110
|
+
self.trs = []
|
111
|
+
self.remove = remove
|
112
|
+
if des is None:
|
113
|
+
des = key
|
114
|
+
self.des = des
|
115
|
+
def add(self, key, vtype=ArgType.dict):
|
116
|
+
self.trs.append((key, vtype))
|
117
|
+
return self
|
118
|
+
def deal_exp(self, exp):
|
119
|
+
trs = set()
|
120
|
+
for key, vtype in exp.trs:
|
121
|
+
if key == self.key and vtype==self.vtype:
|
122
|
+
trs.update(self.trs)
|
123
|
+
else:
|
124
|
+
trs.add((key, vtype))
|
125
|
+
return ArgExp(exp.stype, trs, exp.des, exp)
|
126
|
+
def fetch(self, key, vtype, set_args, args, maps):
|
127
|
+
find = False
|
128
|
+
if ArgType.isdict(vtype):
|
129
|
+
val,find = dz.dget(maps, key)
|
130
|
+
if find:
|
131
|
+
if self.remove:
|
132
|
+
dz.dremove(maps, key)
|
133
|
+
else:
|
134
|
+
if key in set_args:
|
135
|
+
val = args[key]
|
136
|
+
if self.remove:
|
137
|
+
set_args.remove(key)
|
138
|
+
find = True
|
139
|
+
return val, find
|
140
|
+
def call(self, set_args, args, maps, rst_args, rst_maps):
|
141
|
+
val = None
|
142
|
+
find = False
|
143
|
+
for key, vtype in self.trs:
|
144
|
+
val, find = self.fetch(key, vtype, set_args, args, maps)
|
145
|
+
if find:
|
146
|
+
break
|
147
|
+
if not find and self.default:
|
148
|
+
find = True
|
149
|
+
val = self.default_value
|
150
|
+
if not find and self.need:
|
151
|
+
raise ArgExp("need", set(self.trs), self.des)
|
152
|
+
if not find:
|
153
|
+
return
|
154
|
+
if ArgType.isdict(self.vtype):
|
155
|
+
xf.dset(rst_maps, self.key, val)
|
156
|
+
else:
|
157
|
+
rst_args[self.key] = val
|
158
|
+
|
159
|
+
pass
|
160
|
+
class ListFill:
|
161
|
+
'''
|
162
|
+
数组映射后,中间缺失位置如何处理
|
163
|
+
exp=报错
|
164
|
+
null=填充None
|
165
|
+
'''
|
166
|
+
exp='exp'
|
167
|
+
null = 'null'
|
168
|
+
default=exp
|
169
|
+
class TrsArgs(Args):
|
170
|
+
def str(self):
|
171
|
+
return f"TrsArgs(args={len(self.args)}, keep={self.keep}, fill = {self.list_fill})"
|
172
|
+
'''
|
173
|
+
数据映射
|
174
|
+
'''
|
175
|
+
def deal_exp(self, exp):
|
176
|
+
for item in self.args:
|
177
|
+
exp = item.deal_exp(exp)
|
178
|
+
return exp
|
179
|
+
def init(self, args=None, keep = True, list_fill = ListFill.default):
|
180
|
+
super().init()
|
181
|
+
if args is None:
|
182
|
+
args = []
|
183
|
+
self.args = args
|
184
|
+
self.keep = keep
|
185
|
+
self.list_fill = list_fill
|
186
|
+
def add(self, item):
|
187
|
+
self.args.append(item)
|
188
|
+
return self
|
189
|
+
def call(self, args, maps):
|
190
|
+
rst_args, rst_maps = {}, {}
|
191
|
+
set_args = set(range(len(args)))
|
192
|
+
for item in self.args:
|
193
|
+
item(set_args, args, maps, rst_args, rst_maps)
|
194
|
+
if self.keep and len(set_args)>0:
|
195
|
+
for i in set_args:
|
196
|
+
if i not in rst_args:
|
197
|
+
rst_args[i] = args[i]
|
198
|
+
l_args = 0
|
199
|
+
if len(rst_args)>0:
|
200
|
+
l_args= max(rst_args.keys())
|
201
|
+
out_args = []
|
202
|
+
for i in range(l_args+1):
|
203
|
+
if i in rst_args:
|
204
|
+
out_args.append(rst_args[i])
|
205
|
+
else:
|
206
|
+
if self.list_fill == ListFill.null:
|
207
|
+
out_args.append(None)
|
208
|
+
else:
|
209
|
+
raise ArgExp("need", set([(i, ArgType.list)]))
|
210
|
+
if self.keep:
|
211
|
+
for k in maps:
|
212
|
+
if k not in rst_maps:
|
213
|
+
rst_maps[k] = maps[k]
|
214
|
+
return out_args, rst_maps
|
215
|
+
|
216
|
+
pass
|
@@ -0,0 +1,118 @@
|
|
1
|
+
from ..iocz.conf import conf
|
2
|
+
from .. import Base, xf, dz,pyz
|
3
|
+
from .argz import *
|
4
|
+
"""
|
5
|
+
key:{
|
6
|
+
src: [a,b,c]
|
7
|
+
des: asdf
|
8
|
+
need:1
|
9
|
+
default: True
|
10
|
+
default_value: 123
|
11
|
+
remove: 1
|
12
|
+
}
|
13
|
+
key: [
|
14
|
+
src,
|
15
|
+
[des, need, remove]
|
16
|
+
[default, default_value]
|
17
|
+
]
|
18
|
+
"""
|
19
|
+
class ArgItemConf(conf.Conf):
|
20
|
+
def init(self):
|
21
|
+
super().init()
|
22
|
+
self.index(0, 'src', need=1)
|
23
|
+
self.key('src', need=1)
|
24
|
+
df = conf.Conf()
|
25
|
+
df.index(0, 'default')
|
26
|
+
df.index(1, 'default_value')
|
27
|
+
self.index(1, df, dict_out=1)
|
28
|
+
des = conf.Conf()
|
29
|
+
des.index(0, 'des')
|
30
|
+
des.index(1,'need')
|
31
|
+
des.index(2, 'remove')
|
32
|
+
self.index(2, deal=des, dict_out=1)
|
33
|
+
|
34
|
+
pass
|
35
|
+
class ArgSrcConf(conf.Conf):
|
36
|
+
def init(self):
|
37
|
+
super().init()
|
38
|
+
self.index(0, 'key', need=1)
|
39
|
+
self.key('key', 'val,value,data'.split(','), need=1)
|
40
|
+
self.index(1, 'type')
|
41
|
+
self.key('type', 'vtype'.split(","))
|
42
|
+
def call(self, data, unit=None):
|
43
|
+
data, upd = super().call(data, unit)
|
44
|
+
val = data['key']
|
45
|
+
if 'type' not in data:
|
46
|
+
if type(val)==int:
|
47
|
+
vtype = ArgType.list
|
48
|
+
else:
|
49
|
+
vtype = ArgType.dict
|
50
|
+
else:
|
51
|
+
vtype = data['type']
|
52
|
+
data['type'] = ArgType.stand(vtype)
|
53
|
+
return data, upd
|
54
|
+
|
55
|
+
class TrsArgsBuild(Base):
|
56
|
+
def init(self):
|
57
|
+
self.conf = ArgItemConf()
|
58
|
+
self.src_conf = ArgSrcConf()
|
59
|
+
def visits(self, datas, vtype,obj):
|
60
|
+
for key, item in dz.dict2iter(datas):
|
61
|
+
item,_ = self.conf(item)
|
62
|
+
it = ArgItem(key, vtype, *dz.g(item, need=0, default=0, default_value=None,des=None, remove=True))
|
63
|
+
srcs = dz.g(item, src=[])
|
64
|
+
if not dz.islist(srcs):
|
65
|
+
srcs = [srcs]
|
66
|
+
for src in srcs:
|
67
|
+
src, _ = self.src_conf(src)
|
68
|
+
print(f"CONF src: {src}")
|
69
|
+
key, vtype = src['key'], src['type']
|
70
|
+
it.add(key, vtype)
|
71
|
+
obj.add(it)
|
72
|
+
def call(self, conf):
|
73
|
+
lists = xf.g(conf, list={})
|
74
|
+
dicts = xf.g(conf, dict={})
|
75
|
+
if len(lists)+len(dicts)==0:
|
76
|
+
return None
|
77
|
+
keep,list_fill = xf.g(conf, keep=0, fill='exp')
|
78
|
+
obj = TrsArgs([], keep, list_fill)
|
79
|
+
self.visits(lists, ArgType.list, obj)
|
80
|
+
self.visits(dicts, ArgType.dict, obj)
|
81
|
+
return obj
|
82
|
+
|
83
|
+
class FullArgsBuild(Base):
|
84
|
+
def init(self):
|
85
|
+
self.trs_build = TrsArgsBuild()
|
86
|
+
cf = conf.Conf()
|
87
|
+
rcf = conf.Conf()
|
88
|
+
rcf.index(0, 'base')
|
89
|
+
rcf.index(1, 'last')
|
90
|
+
rcf.index(2, 'min')
|
91
|
+
cf.index(0, 'range', deal=rcf)
|
92
|
+
cf.key('range', 'ranges'.split(","), deal=rcf)
|
93
|
+
cf.index(1, 'list')
|
94
|
+
cf.index(2, 'dict')
|
95
|
+
cf.key('list', 'args,lists'.split(","))
|
96
|
+
cf.key("dict", 'maps,dicts'.split(","))
|
97
|
+
_cf = conf.Conf()
|
98
|
+
_cf.index(0, 'keep')
|
99
|
+
_cf.index(1, 'fill')
|
100
|
+
_cf.key('fill', 'fill_type'.split(','))
|
101
|
+
cf.index(3, deal=_cf, dict_out=1)
|
102
|
+
self.conf = cf
|
103
|
+
def call(self, conf):
|
104
|
+
arr_args = ArrArgs()
|
105
|
+
conf, upd = self.conf(conf)
|
106
|
+
#print(f"BUILD conf: {conf}")
|
107
|
+
ranges = dz.g(conf, range=None)
|
108
|
+
if ranges is not None:
|
109
|
+
base = ranges['base']
|
110
|
+
if base is not None:
|
111
|
+
last, min = dz.g(ranges, last=None,min=0)
|
112
|
+
min = pyz.nnull(min, 0)
|
113
|
+
range_args = RangeListArgs(base, last, min)
|
114
|
+
arr_args.add(range_args)
|
115
|
+
trs_args = self.trs_build(conf)
|
116
|
+
if trs_args is not None:
|
117
|
+
arr_args.add(trs_args)
|
118
|
+
return arr_args
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
from buildz.argzx import conf_argz as argzx
|
4
|
+
from buildz.tls import *
|
5
|
+
conf = xf.loads(r"""
|
6
|
+
#range=(0,12,3)
|
7
|
+
range=(0,12,3)
|
8
|
+
args: {
|
9
|
+
0:[0,0]
|
10
|
+
}
|
11
|
+
maps: {
|
12
|
+
a={
|
13
|
+
src: [(1,list)]
|
14
|
+
}
|
15
|
+
}
|
16
|
+
""")
|
17
|
+
def test():
|
18
|
+
args = [0,1,2]
|
19
|
+
maps = {'a':'b','c':'d'}
|
20
|
+
bd = argzx.FullArgsBuild()
|
21
|
+
obj = bd(conf)
|
22
|
+
args, maps = obj(args, maps)
|
23
|
+
print(f"obj: {obj}")
|
24
|
+
print(f"args: {args}, maps: {maps}")
|
25
|
+
pass
|
26
|
+
|
27
|
+
pass
|
28
|
+
|
29
|
+
pyz.lc(locals(),test)
|
@@ -5,9 +5,11 @@ class Conf(Base):
|
|
5
5
|
'''
|
6
6
|
list to dict
|
7
7
|
'''
|
8
|
-
def init(self):
|
8
|
+
def init(self, v2l=True):
|
9
9
|
self.lists = {}
|
10
10
|
self.aliases = {}
|
11
|
+
self.ranges = {}
|
12
|
+
self.v2l = v2l
|
11
13
|
@staticmethod
|
12
14
|
def default(val):
|
13
15
|
if val is None:
|
@@ -15,13 +17,33 @@ class Conf(Base):
|
|
15
17
|
if not dz.islist(val):
|
16
18
|
val = [1, val]
|
17
19
|
return val
|
18
|
-
def
|
20
|
+
def range(self, key, base, last=None, min = 0, default=None):
|
21
|
+
self.ranges[key] = base,last,min,self.default(default)
|
22
|
+
def key(self, key, aliases=[], need=False, remove=True, deal = None, default=None):
|
19
23
|
self.aliases[key] = list(aliases), need, remove, deal, self.default(default)
|
20
24
|
def index(self, i, key=None, need=False, deal = None, dict_out = False, default=None):
|
21
25
|
self.lists[i] = key,need,deal, dict_out, self.default(default)
|
26
|
+
def range_to_dict(self, rst, conf, unit=None):
|
27
|
+
for key, item in self.ranges.items():
|
28
|
+
base,last,min,default = item
|
29
|
+
if last is None:
|
30
|
+
tmp = conf[base:]
|
31
|
+
else:
|
32
|
+
tmp = conf[base:last]
|
33
|
+
if len(tmp)<min:
|
34
|
+
if default[0]:
|
35
|
+
val = default[1]
|
36
|
+
else:
|
37
|
+
assert 0,f"require key '{key}' not set in list {conf}"
|
38
|
+
else:
|
39
|
+
val = tmp
|
40
|
+
rst[key] = val
|
22
41
|
def to_dict(self, conf, unit=None):
|
23
42
|
if not dz.islist(conf):
|
24
|
-
|
43
|
+
if not dz.isdict(conf) and self.v2l:
|
44
|
+
conf = [conf]
|
45
|
+
else:
|
46
|
+
return conf, False
|
25
47
|
rst = {}
|
26
48
|
for i,item in self.lists.items():
|
27
49
|
key, need, deal, out_dict, default = item
|
@@ -39,6 +61,7 @@ class Conf(Base):
|
|
39
61
|
rst.update(val)
|
40
62
|
else:
|
41
63
|
rst[key] = val
|
64
|
+
self.range_to_dict(rst, conf, unit)
|
42
65
|
return rst, 1
|
43
66
|
def update_dict(self, conf, unit=None):
|
44
67
|
upd = False
|
@@ -10,7 +10,7 @@ class DLKey(GetKey):
|
|
10
10
|
def Load(conf):
|
11
11
|
keys, kfind = dz.dget(conf, spt("dict.key"))
|
12
12
|
lids, lfind = dz.dget(conf, spt("list.index"))
|
13
|
-
default = dz.dget(conf, 'default', None)
|
13
|
+
default, find = dz.dget(conf, 'default', None)
|
14
14
|
return DLKey(keys, lids, default)
|
15
15
|
def init(self, keys, indexes, default=None):
|
16
16
|
super().init()
|
@@ -56,7 +56,10 @@ default_conf = None
|
|
56
56
|
s_default_conf = r"""
|
57
57
|
{
|
58
58
|
id.spt: '.'
|
59
|
-
env
|
59
|
+
env: {
|
60
|
+
spt: '.'
|
61
|
+
orders: [local, args, conf, sys]
|
62
|
+
}
|
60
63
|
conf:{
|
61
64
|
dict.key = 'id'
|
62
65
|
list.index = [(0,1)]
|
@@ -68,6 +71,9 @@ s_default_conf = r"""
|
|
68
71
|
list.index = ((0,0),0)
|
69
72
|
default: null
|
70
73
|
}
|
74
|
+
tag: {
|
75
|
+
dict.key='tag'
|
76
|
+
}
|
71
77
|
}
|
72
78
|
"""
|
73
79
|
def init():
|
@@ -78,11 +84,6 @@ def init():
|
|
78
84
|
default_conf = dz.flush_maps(default_conf)
|
79
85
|
class ConfManager(Manager):
|
80
86
|
def init(self, conf=None):
|
81
|
-
ids, deal_key, conf_key, deal_ids, env_ids = self.Conf(conf)
|
82
|
-
super().init(ids, deal_key, conf_key, deal_ids, env_ids)
|
83
|
-
self.set_deal('deal', DealDeal())
|
84
|
-
@staticmethod
|
85
|
-
def Conf(conf=None):
|
86
87
|
init()
|
87
88
|
spt = Ids(".")
|
88
89
|
if conf is None:
|
@@ -95,10 +96,13 @@ class ConfManager(Manager):
|
|
95
96
|
ids = Ids(id_spt)
|
96
97
|
deal_spt, find = dz.dget(conf, spt("id.spt"), id_spt)
|
97
98
|
deal_ids = Ids(deal_spt)
|
98
|
-
|
99
|
+
env_ids, find = dz.dget(conf, spt("env.spt"), id_spt)
|
99
100
|
deal_key = DLKey.Load(conf['deal'])
|
100
101
|
conf_key = DLKey.Load(conf['conf'])
|
101
|
-
|
102
|
+
tag_key = DLKey.Load(conf['tag'])
|
103
|
+
env_orders, find = dz.dget(conf, spt("env.orders"), None)
|
104
|
+
super().init(ids, deal_key, conf_key, tag_key, deal_ids, env_ids, env_orders)
|
105
|
+
self.set_deal('deal', DealDeal())
|
102
106
|
def add_conf(self, conf):
|
103
107
|
unit = ConfUnit(conf, self)
|
104
108
|
return unit
|
@@ -0,0 +1,111 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
from ..ioc.unit import Unit
|
4
|
+
from ... import dz,xf
|
5
|
+
from ..ioc.datas import Datas
|
6
|
+
'''
|
7
|
+
id|namespace|ns:
|
8
|
+
deal_id|deal_ns:
|
9
|
+
env_id|env_ns:
|
10
|
+
envs.pub|envs.pri|envs.ns|envs: {
|
11
|
+
|
12
|
+
}
|
13
|
+
confs.pub|confs.pri|confs.ns|confs: [
|
14
|
+
|
15
|
+
]
|
16
|
+
confs.pub|confs.pri|confs.ns|confs: {
|
17
|
+
|
18
|
+
}
|
19
|
+
builds: [
|
20
|
+
|
21
|
+
]
|
22
|
+
|
23
|
+
or
|
24
|
+
|
25
|
+
[
|
26
|
+
...
|
27
|
+
]
|
28
|
+
'''
|
29
|
+
def split2list(s, by=','):
|
30
|
+
if s is None:
|
31
|
+
return [s]
|
32
|
+
if not dz.islist(s):
|
33
|
+
s = s.split(by)
|
34
|
+
return s
|
35
|
+
def join_nnull(by, *args):
|
36
|
+
args = [k for k in args if k is not None and k!=""]
|
37
|
+
return by.join(args)
|
38
|
+
|
39
|
+
def joins(prefix, suffix=None, by='.', split=","):
|
40
|
+
prefix = split2list(prefix,split)
|
41
|
+
suffix = split2list(suffix,split)
|
42
|
+
rst = []
|
43
|
+
for pfx in prefix:
|
44
|
+
for sfx in suffix:
|
45
|
+
rst.append(join_nnull(by, pfx, sfx))
|
46
|
+
return rst
|
47
|
+
|
48
|
+
|
49
|
+
class ConfUnit(Unit):
|
50
|
+
#key_ns = ('id', 'namespace', 'ns')
|
51
|
+
key_ns = joins("id,namespace,ns")
|
52
|
+
#key_deal_ns = "deal_id,deal_ns,deal_namespace".split(",")
|
53
|
+
key_deal_ns = joins("deal", "id,ns,namespace", "_")
|
54
|
+
#key_env_ns = "env_id,env_ns,env_namespace,profile_id,profile_ns,profile_namespace".split(",")
|
55
|
+
key_env_ns = joins("env,profile", "id,ns,namespace", "_")
|
56
|
+
#key_confs_pub = "confs.pub,confs".split(",")
|
57
|
+
key_confs_pub = joins("confs,conf", "pub,")
|
58
|
+
#key_confs_pri = "confs.pri,confs.prv".split(",")
|
59
|
+
key_confs_pri = joins("confs,conf", "pri,prv")
|
60
|
+
#key_confs_ns = "confs.ns,confs.namespace".split(",")
|
61
|
+
key_confs_ns = joins("confs,conf", "ns,namespace")
|
62
|
+
#key_envs_pub = "envs.pub,envs,profiles,profiles.pub".split(",")
|
63
|
+
key_envs_pub = joins("envs,env,profiles,profile", "pub,Pub,P,")
|
64
|
+
#key_envs_pri = "envs.pri,envs.prv,profiles.pri,profiles.prv".split(",")
|
65
|
+
key_envs_pri = joins("envs,env,profiles,profile", "pri,prv,local,p,l")
|
66
|
+
#key_envs_ns = "envs.ns,envs.namespace,profiles.ns,profiles.namespace".split(",")
|
67
|
+
key_envs_ns = joins("envs,env,profiles,profile", "ns,namespace,n")
|
68
|
+
#key_builds = "builds,build".split(",")
|
69
|
+
key_builds = joins("builds,build")
|
70
|
+
def init(self, conf, mg):
|
71
|
+
if type(conf)==str:
|
72
|
+
conf = xf.loads(conf)
|
73
|
+
if dz.islist(conf):
|
74
|
+
conf = {'confs': conf}
|
75
|
+
ns = dz.get_one(conf, self.key_ns)
|
76
|
+
deal_ns = dz.get_one(conf, self.key_deal_ns)
|
77
|
+
env_ns = dz.get_one(conf, self.key_env_ns)
|
78
|
+
super().init(ns, deal_ns, env_ns)
|
79
|
+
self.tag_key = None
|
80
|
+
self.bind(mg)
|
81
|
+
self.load(conf)
|
82
|
+
def load_confs(self, confs, tag=None):
|
83
|
+
rst = []
|
84
|
+
if dz.isdict(confs):
|
85
|
+
for k,v in confs.items():
|
86
|
+
self.conf_key.fill(v, k)
|
87
|
+
rst.append(v)
|
88
|
+
confs = rst
|
89
|
+
for item in confs:
|
90
|
+
self.add_conf(item, tag)
|
91
|
+
# key,find = self.conf_key(item)
|
92
|
+
# if find:
|
93
|
+
# self.set_conf(key, item, tag)
|
94
|
+
def load_envs(self, envs, tag=None):
|
95
|
+
for key, val in envs.items():
|
96
|
+
self.set_env(key, val, tag)
|
97
|
+
def load(self, conf):
|
98
|
+
tags = [Datas.Key.Pub, Datas.Key.Ns, Datas.Key.Pri]
|
99
|
+
keys = [self.key_confs_pub, self.key_confs_ns, self.key_confs_pri]
|
100
|
+
for key, tag in zip(keys, tags):
|
101
|
+
tag_confs = dz.get_one(conf, key, [])
|
102
|
+
self.load_confs(tag_confs, tag)
|
103
|
+
keys = [self.key_envs_pub, self.key_envs_ns, self.key_envs_pri]
|
104
|
+
for key, tag in zip(keys, tags):
|
105
|
+
tag_envs = dz.get_one(conf, key, {})
|
106
|
+
self.load_envs(tag_envs, tag)
|
107
|
+
builds = dz.get_one(conf, self.key_builds, [])
|
108
|
+
for item in builds:
|
109
|
+
self.add_build(item)
|
110
|
+
|
111
|
+
pass
|
@@ -0,0 +1,34 @@
|
|
1
|
+
|
2
|
+
from .base import *
|
3
|
+
from ... import dz,pyz
|
4
|
+
class CallEncape(BaseEncape):
|
5
|
+
def init(self, unit, cvar, args, maps):
|
6
|
+
super().init()
|
7
|
+
self.unit = unit
|
8
|
+
self.params = call, args, maps
|
9
|
+
def call(self, params=None, **_):
|
10
|
+
call, args, maps = self.params
|
11
|
+
call = self.obj(call)
|
12
|
+
if type(call)==str:
|
13
|
+
call = self.unit.get(call)
|
14
|
+
args = self.elist2obj(args)
|
15
|
+
maps = self.edict2obj(maps)
|
16
|
+
return call(*args, **maps)
|
17
|
+
class CallDeal(BaseDeal):
|
18
|
+
def init(self):
|
19
|
+
super().init()
|
20
|
+
conf = BaseConf()
|
21
|
+
conf.index(1, 'call', need=1)
|
22
|
+
conf.index(2, 'args')
|
23
|
+
conf.index(3, 'maps')
|
24
|
+
conf.key('call', need=1)
|
25
|
+
self.update = conf
|
26
|
+
def deal(self, conf, unit):
|
27
|
+
assert 'call' in conf
|
28
|
+
call = conf['call']
|
29
|
+
call = self.get_encape(call, unit)
|
30
|
+
args = self.get_elist(unit, conf, 'args',[])
|
31
|
+
maps = self.get_edict(unit, conf, 'maps', {})
|
32
|
+
return CallEncape(unit, call, args, maps)
|
33
|
+
|
34
|
+
pass
|