buildz 0.6.53__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.53/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.53 → buildz-0.6.54}/buildz/evalz/evalz.py +1 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/conf.py +25 -2
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/unit.py +40 -10
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/deal.py +2 -2
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/env.py +1 -1
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/init.py +1 -1
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/datas.py +1 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/envs.py +9 -1
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/tdata.py +18 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/vars.py +1 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/test/test.py +5 -1
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/wrap/base.py +2 -1
- 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.53 → buildz-0.6.54}/buildz/iocz/wrap/wraps.py +9 -0
- {buildz-0.6.53 → buildz-0.6.54/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.6.53 → buildz-0.6.54}/buildz.egg-info/SOURCES.txt +4 -0
- {buildz-0.6.53 → buildz-0.6.54}/setup.py +1 -1
- buildz-0.6.53/buildz/argz/tests/conf.js +0 -31
- buildz-0.6.53/buildz/iocz/wrap/default_wraps.py +0 -9
- {buildz-0.6.53 → buildz-0.6.54}/LICENSE +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/MANIFEST.in +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/README.md +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/__main__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argx.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/argz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/build.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/callz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/evalx.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/test_obj.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/testx.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/cache.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/config.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/dbs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/deal.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/deal_list.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/deal_type.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/defs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/factory.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/init.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/log.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/request.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/run.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/save.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/cache/cache.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/config/base.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/config/config.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/fp.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/item1.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/item2.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/test.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/xtest.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/verify.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/cachez/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/cachez/cache.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/cmd.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/confz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/__main__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/clickhousez.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/mysqlz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/oraclez.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/orm.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/postgresqlz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/sqlite3z.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/install.txt +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/run.conf +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/runz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/db/tls.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/dz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/dz/mapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/evalz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/evalz/res/default.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/evalz/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/fio.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/html/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/html/test/demo.html +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/html/test/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/html/xml.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/init.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/confs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/decorator.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/loads.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/branch.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/init.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/map.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/obj.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/refs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/wrap.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/mg.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/up.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/call.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/cvar.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/ioc.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/obj.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/ref.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/val.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/builds.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/confs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/dataset.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/encapes.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/ids.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/init.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/mg.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/single.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/sys_envs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/tdict.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/unit.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/deal.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/ioc.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/obj.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/ref.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/val.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/wrap/obj.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/logz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/caps.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/mhttp.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/proxy.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/record.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/sslz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/sslz/gen.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/sslz/gen.pyi +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/test/__main__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/test/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/test/test_cli.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/pathz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/pyz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tls.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tools.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/test_xfind.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/time/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/time/timez.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/getch.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/lx.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/win.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/xfind.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/code.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/file.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/listmapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/lrval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/mg.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/buffer.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/exp.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/item.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/mg.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/pos.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test1.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/read.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/readz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/readz_nexp.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/stack.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/write.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/listmapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/base.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/conf.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/jsonval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/listmapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/listz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/mapz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/reval.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/strz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/itemz.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/mg.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/testx.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writez.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/xargs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/__init__.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/conf.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/data.js +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/test.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/trs.py +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.53 → buildz-0.6.54}/notes/notes.txt +0 -0
- {buildz-0.6.53 → 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
|
20
|
+
def range(self, key, base, last=None, min = 0, default=None):
|
21
|
+
self.ranges[key] = base,last,min,self.default(default)
|
18
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
|
@@ -26,17 +26,47 @@ or
|
|
26
26
|
...
|
27
27
|
]
|
28
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
|
+
|
29
49
|
class ConfUnit(Unit):
|
30
|
-
key_ns = ('id', 'namespace', 'ns')
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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")
|
40
70
|
def init(self, conf, mg):
|
41
71
|
if type(conf)==str:
|
42
72
|
conf = xf.loads(conf)
|
@@ -6,8 +6,8 @@ class DealDeal(deal.DealDeal):
|
|
6
6
|
super().init()
|
7
7
|
conf = BaseConf()
|
8
8
|
conf.index(1, 'source', need=1)
|
9
|
-
conf.index(2, '
|
10
|
-
conf.index(3, '
|
9
|
+
conf.index(2, 'call')
|
10
|
+
conf.index(3, 'tag')
|
11
11
|
conf.key('source', 'src'.split(","), need=1)
|
12
12
|
self.update = conf
|
13
13
|
|
@@ -22,7 +22,7 @@ class EnvDeal(BaseDeal):
|
|
22
22
|
conf = BaseConf()
|
23
23
|
conf.index(1, 'env', need=1)
|
24
24
|
conf.index(2, 'default')
|
25
|
-
conf.key('env', "data,key".split(","), need=1)
|
25
|
+
conf.key('env', "data,key,profile,conf".split(","), need=1)
|
26
26
|
self.update = conf
|
27
27
|
def deal(self, conf, unit):
|
28
28
|
assert 'env' in conf
|
@@ -18,6 +18,7 @@ class Datas(TagData):
|
|
18
18
|
self.set(key, val, tag)
|
19
19
|
def set(self, key, val, tag=None):
|
20
20
|
tag = pyz.nnull(tag, self.default)
|
21
|
+
tag = TagData.Key.stand(tag)
|
21
22
|
super().set(key, val, tag)
|
22
23
|
if self.dts is not None and tag in (TagData.Key.Pub, TagData.Key.Ns):
|
23
24
|
self.dts.set(key, val, self.ns, tag, self)
|
@@ -6,6 +6,7 @@ class Envs(Datas):
|
|
6
6
|
def init(self, ns=None, id=None, dts=None):
|
7
7
|
super().init(ns, id, dts)
|
8
8
|
self.ids = None
|
9
|
+
self.caches = {}
|
9
10
|
def update(self, maps, tag=None, flush=False):
|
10
11
|
if flush:
|
11
12
|
maps = dz.unflush_maps(maps, self.ids.id)
|
@@ -14,7 +15,14 @@ class Envs(Datas):
|
|
14
15
|
def bind(self, dts):
|
15
16
|
self.ids = dts.ids
|
16
17
|
super().bind(dts)
|
18
|
+
for k,v in self.caches.items():
|
19
|
+
val,tag=v
|
20
|
+
self.set(k,val,tag)
|
21
|
+
self.caches = {}
|
17
22
|
def set(self, key, val, tag=None):
|
18
|
-
|
23
|
+
if self.ids is not None:
|
24
|
+
super().set(self.ids(key), val, tag)
|
25
|
+
else:
|
26
|
+
self.caches[key] = val,tag
|
19
27
|
def get(self, key, tags=None):
|
20
28
|
return super().get(self.ids(key), tags)
|
@@ -8,6 +8,24 @@ class Key:
|
|
8
8
|
tags_ns = [Ns,Pub]
|
9
9
|
tags_pub = [Pub]
|
10
10
|
tags_pri = None
|
11
|
+
@staticmethod
|
12
|
+
def is_pub(s):
|
13
|
+
return s in ("pub", "public")
|
14
|
+
@staticmethod
|
15
|
+
def is_pri(s):
|
16
|
+
return s in ("pri", "prv", "private")
|
17
|
+
@staticmethod
|
18
|
+
def is_ns(s):
|
19
|
+
return s in ("ns", "namespace")
|
20
|
+
@staticmethod
|
21
|
+
def stand(s):
|
22
|
+
if Key.is_pub(s):
|
23
|
+
return Key.Pub
|
24
|
+
elif Key.is_ns(s):
|
25
|
+
return Key.Ns
|
26
|
+
elif Key.is_pri(s):
|
27
|
+
return Key.Pri
|
28
|
+
return None
|
11
29
|
pass
|
12
30
|
class UnitBase(Base):
|
13
31
|
def init(self, ns=None, id=None):
|
@@ -1,10 +1,13 @@
|
|
1
1
|
#
|
2
2
|
|
3
3
|
from buildz import iocz,xf, pyz, Base
|
4
|
+
profiles = xf.loads(r"""
|
5
|
+
PYTHON_PATH=test
|
6
|
+
""")
|
4
7
|
wraps = iocz.build_wraps()
|
5
8
|
ns = wraps('test').wrap
|
6
9
|
@ns.obj(id='test')
|
7
|
-
@ns.obj.args("env,
|
10
|
+
@ns.obj.args("env,PYTHON_PATH")
|
8
11
|
class Test(Base):
|
9
12
|
def str(self):
|
10
13
|
return f'Test(<{id(self)}>|id={self.id})'
|
@@ -15,6 +18,7 @@ class Test(Base):
|
|
15
18
|
print("Test.show:", self)
|
16
19
|
|
17
20
|
pass
|
21
|
+
ns.load_profiles(profiles)
|
18
22
|
#ns.obj.args("env,PATH")(Test)
|
19
23
|
#ns.obj(id='test')(Test)
|
20
24
|
var = 'test_var'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
from . import obj
|
4
|
+
from . import env
|
5
|
+
def build(wraps):
|
6
|
+
wraps.set_fc("obj", obj.ObjectWrap())
|
7
|
+
fc = env.EnvWrap()
|
8
|
+
wraps.set_fc("env", fc)
|
9
|
+
wraps.set_fc("load_envs", fc)
|
10
|
+
wraps.set_fc("profile", fc)
|
11
|
+
wraps.set_fc("load_profiles", fc)
|
12
|
+
return wraps
|
13
|
+
|
14
|
+
pass
|