buildz 0.6.48__tar.gz → 0.6.50__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.48/buildz.egg-info → buildz-0.6.50}/PKG-INFO +1 -1
- {buildz-0.6.48 → buildz-0.6.50}/buildz/dz/mapz.py +17 -3
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/wrap.py +1 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/base.py +1 -1
- buildz-0.6.50/buildz/iocz/conf/base.py +3 -0
- buildz-0.6.50/buildz/iocz/conf/mg.py +80 -0
- buildz-0.6.50/buildz/iocz/conf/unit.py +16 -0
- buildz-0.6.50/buildz/iocz/ioc/__init__.py +2 -0
- buildz-0.6.50/buildz/iocz/ioc/base.py +37 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/ioc/bind.py +1 -1
- buildz-0.6.50/buildz/iocz/ioc/builds.py +64 -0
- buildz-0.6.50/buildz/iocz/ioc/confs.py +15 -0
- buildz-0.6.50/buildz/iocz/ioc/datas.py +26 -0
- buildz-0.6.50/buildz/iocz/ioc/dataset.py +76 -0
- buildz-0.6.50/buildz/iocz/ioc/encapes.py +106 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/ioc/env.py +1 -1
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/ioc/ids.py +2 -3
- buildz-0.6.50/buildz/iocz/ioc/init.py +4 -0
- buildz-0.6.50/buildz/iocz/ioc/mg.py +88 -0
- buildz-0.6.50/buildz/iocz/ioc/single.py +56 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/ioc/tdata.py +13 -8
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/ioc/tdict.py +7 -5
- buildz-0.6.50/buildz/iocz/ioc/test.py +45 -0
- buildz-0.6.50/buildz/iocz/ioc/test1.py +36 -0
- buildz-0.6.50/buildz/iocz/ioc/unit.py +60 -0
- buildz-0.6.50/buildz/iocz/ioc_deal/base.py +49 -0
- buildz-0.6.50/buildz/iocz/ioc_deal/deal.py +33 -0
- buildz-0.6.50/buildz/iocz/ioc_deal/obj.py +66 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/pathz.py +14 -2
- {buildz-0.6.48 → buildz-0.6.50}/buildz/pyz.py +15 -1
- buildz-0.6.50/buildz/tls.py +2 -0
- {buildz-0.6.48 → buildz-0.6.50/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.6.48 → buildz-0.6.50}/buildz.egg-info/SOURCES.txt +13 -1
- {buildz-0.6.48 → buildz-0.6.50}/setup.py +1 -1
- buildz-0.6.48/buildz/iocz/ioc/base.py +0 -14
- buildz-0.6.48/buildz/iocz/ioc/confs.py +0 -5
- buildz-0.6.48/buildz/iocz/ioc/datas.py +0 -23
- buildz-0.6.48/buildz/iocz/ioc/dataset.py +0 -35
- buildz-0.6.48/buildz/iocz/ioc/encapes.py +0 -26
- buildz-0.6.48/buildz/iocz/ioc/envm.py +0 -2
- buildz-0.6.48/buildz/iocz/ioc/unit.py +0 -26
- buildz-0.6.48/buildz/iocz/ioc_deal/obj.py +0 -79
- {buildz-0.6.48 → buildz-0.6.50}/LICENSE +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/MANIFEST.in +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/README.md +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/__main__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argx.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/argz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/build.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/callz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/evalx.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/test_obj.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/tests/conf.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/argz/testx.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/cache.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/config.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/dbs.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/deal.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/deal_list.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/deal_type.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/defs.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/factory.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/init.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/log.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/request.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/run.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/save.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/res/cache/cache.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/res/config/base.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/res/config/config.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/res/data/fp.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/res/data/item1.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/res/data/item2.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/res/data/test.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/test/xtest.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/auto/verify.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/cachez/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/cachez/cache.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/cmd.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/confz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/__main__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/clickhousez.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/mysqlz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/oraclez.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/orm.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/postgresqlz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/sqlite3z.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/install.txt +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/run.conf +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/runz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/db/tls.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/dz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/evalz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/evalz/evalz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/evalz/res/default.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/evalz/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/fz/fio.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/html/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/html/test/demo.html +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/html/test/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/html/xml.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/init.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc/confs.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc/decorator.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc/loads.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/branch.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/init.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/map.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/obj.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/refs.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/ioc/deals.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/iocz/ioc/dm.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/logz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/mhttp/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/mhttp/caps.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/mhttp/mhttp.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/mhttp/proxy.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/mhttp/record.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/sslz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/sslz/gen.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/sslz/gen.pyi +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/test/__main__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/test/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/netz/test/test_cli.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tools.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/test_xfind.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/time/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/time/timez.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/tio/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/tio/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/tio/getch.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/tio/lx.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/tio/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/tio/win.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/tz/xfind.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/code.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/file.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/listmapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/lrval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/strz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/mg.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/buffer.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/exp.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/item.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/mg.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/pos.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/loaderz_nexp/test1.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/read.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/readz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/readz_nexp.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/stack.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/write.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/deal/listmapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/base.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/conf.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/deal/jsonval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/deal/listmapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/deal/listz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/deal/mapz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/deal/reval.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/deal/strz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/itemz.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/mg.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writerz/testx.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/writez.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xf/xargs.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xz/__init__.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xz/conf.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xz/data.js +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xz/test.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz/xz/trs.py +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/notes/notes.txt +0 -0
- {buildz-0.6.48 → buildz-0.6.50}/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.50
|
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
|
@@ -1,4 +1,18 @@
|
|
1
1
|
from buildz import pyz
|
2
|
+
def islist(obj):
|
3
|
+
return type(obj) in (list, tuple)
|
4
|
+
def tolist(obj):
|
5
|
+
if not islist(obj):
|
6
|
+
obj = [obj]
|
7
|
+
return obj
|
8
|
+
def dict2list(obj):
|
9
|
+
if type(obj)!=dict:
|
10
|
+
return obj
|
11
|
+
return list(obj.items())
|
12
|
+
def dict2iter(obj):
|
13
|
+
if type(obj)!=dict:
|
14
|
+
return obj
|
15
|
+
return obj.items()
|
2
16
|
def get(obj, key, default=None, set = False):
|
3
17
|
if type(obj)==list:
|
4
18
|
key = int(key)
|
@@ -172,7 +186,7 @@ def dhas(maps, keys):
|
|
172
186
|
|
173
187
|
pass
|
174
188
|
|
175
|
-
def dget(maps, keys):
|
189
|
+
def dget(maps, keys, default = None):
|
176
190
|
if type(keys) not in (list,tuple):
|
177
191
|
keys = [keys]
|
178
192
|
for key in keys:
|
@@ -188,7 +202,7 @@ def dget(maps, keys):
|
|
188
202
|
else:
|
189
203
|
find = False
|
190
204
|
if not find:
|
191
|
-
return
|
205
|
+
return default,0
|
192
206
|
maps = maps[key]
|
193
207
|
return maps,1
|
194
208
|
|
@@ -208,7 +222,7 @@ def dremove(maps, keys):
|
|
208
222
|
if first or len(maps[key])==0:
|
209
223
|
del maps[key]
|
210
224
|
first=0
|
211
|
-
return
|
225
|
+
return
|
212
226
|
|
213
227
|
pass
|
214
228
|
|
@@ -0,0 +1,80 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
from ..ioc.mg import Manager, GetKey, Ids
|
4
|
+
from ... import dz,xf
|
5
|
+
from .unit import ConfUnit
|
6
|
+
spt = Ids(".")
|
7
|
+
class DLKey(GetKey):
|
8
|
+
@staticmethod
|
9
|
+
def Load(conf):
|
10
|
+
keys, kfind = dz.dget(conf, spt("dict.key"))
|
11
|
+
lids, lfind = dz.dget(conf, spt("list.index"))
|
12
|
+
default = dz.dget(conf, 'default', None)
|
13
|
+
return DLKey(keys, lids, default)
|
14
|
+
def init(self, keys, indexes, default=None):
|
15
|
+
super().init()
|
16
|
+
self.keys = dz.tolist(keys)
|
17
|
+
self.indexes = dz.tolist(indexes)
|
18
|
+
self.default = default
|
19
|
+
def list_get(self, conf):
|
20
|
+
for indexes in self.indexes:
|
21
|
+
obj, find = dz.dget(conf, indexes)
|
22
|
+
if find:
|
23
|
+
return obj, find
|
24
|
+
return self.default, 0
|
25
|
+
def dict_get(self, conf):
|
26
|
+
for keys in self.keys:
|
27
|
+
obj, find = dz.dget(conf, keys)
|
28
|
+
if find:
|
29
|
+
return obj, find
|
30
|
+
return self.default, 0
|
31
|
+
def call(self, conf):
|
32
|
+
if dz.islist(conf):
|
33
|
+
return self.list_get(conf)
|
34
|
+
return self.dict_get(conf)
|
35
|
+
def fill(self, conf):
|
36
|
+
pass
|
37
|
+
default_conf = None
|
38
|
+
def init():
|
39
|
+
global default_conf
|
40
|
+
if default_conf not None:
|
41
|
+
return
|
42
|
+
default_conf = xf.loads(r'''
|
43
|
+
{
|
44
|
+
id.spt: '.'
|
45
|
+
conf:{
|
46
|
+
dict.key = 'id'
|
47
|
+
list.index = [(0,1)]
|
48
|
+
default: null
|
49
|
+
}
|
50
|
+
deal: {
|
51
|
+
spt: '.'
|
52
|
+
dict.key = type
|
53
|
+
list.index = ((0,0),0)
|
54
|
+
default: null
|
55
|
+
}
|
56
|
+
}
|
57
|
+
''')
|
58
|
+
default_conf = dz.flush_maps(default_conf)
|
59
|
+
class ConfManager(Manager):
|
60
|
+
def init(self, conf=None):
|
61
|
+
init()
|
62
|
+
spt = Ids(".")
|
63
|
+
if conf is None:
|
64
|
+
conf = {}
|
65
|
+
if type(conf)==str:
|
66
|
+
conf = xf.loads(conf)
|
67
|
+
conf = dz.flush_maps(conf)
|
68
|
+
dz.fill(default_conf, conf, 0)
|
69
|
+
id_spt, find = dz.dget(conf, spt("id.spt"),".")
|
70
|
+
ids = Ids(id_spt)
|
71
|
+
deal_spt, find = dz.dget(conf, spt("id.spt"), id_spt)
|
72
|
+
deal_ids = Ids(deal_spt)
|
73
|
+
deal_key = DLKey(conf['deal'])
|
74
|
+
conf_key = DLKey(conf['conf'])
|
75
|
+
super().init(ids, deal_key, conf_key, deal_ids)
|
76
|
+
def add_conf(self, conf):
|
77
|
+
unit = ConfUnit(conf, self)
|
78
|
+
return unit
|
79
|
+
|
80
|
+
pass
|
@@ -0,0 +1,37 @@
|
|
1
|
+
from ..base import *
|
2
|
+
basepath = path
|
3
|
+
path = pathz.Path()
|
4
|
+
path.set("conf", basepath.local("ioc/conf"), curr=0)
|
5
|
+
class Encape(Base):
|
6
|
+
def call(self, params=None, **maps):
|
7
|
+
return None
|
8
|
+
|
9
|
+
pass
|
10
|
+
class Deal(Base):
|
11
|
+
def deal(self, conf, unit):
|
12
|
+
return None
|
13
|
+
def call(self, conf, unit):
|
14
|
+
'encape, conf, conf_need_udpate'
|
15
|
+
encape = self.deal(conf,unit)
|
16
|
+
return encape,conf,False
|
17
|
+
|
18
|
+
pass
|
19
|
+
|
20
|
+
class Params(Base):
|
21
|
+
def clone(self, **upds):
|
22
|
+
args, maps = list(self.args), dict(self.maps)
|
23
|
+
maps.update(upds)
|
24
|
+
return Params(args, maps)
|
25
|
+
def init(self, *args, **maps):
|
26
|
+
self.args = args
|
27
|
+
self.maps = maps
|
28
|
+
def get(self, key, default=None):
|
29
|
+
if key not in self.maps:
|
30
|
+
return default
|
31
|
+
return self.maps[key]
|
32
|
+
def __getattr__(self, key):
|
33
|
+
if key not in self.maps:
|
34
|
+
return None
|
35
|
+
return self.maps[key]
|
36
|
+
|
37
|
+
pass
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#
|
2
|
+
from .base import *
|
3
|
+
from .datas import Datas
|
4
|
+
from .confs import Confs
|
5
|
+
from .encapes import Encapes
|
6
|
+
from ... import pyz
|
7
|
+
|
8
|
+
class Builds(Base):
|
9
|
+
def init(self, unit):
|
10
|
+
self.need_build = False
|
11
|
+
self.jobs = []
|
12
|
+
self.dones = []
|
13
|
+
self.unit = unit
|
14
|
+
self.builds = None
|
15
|
+
def bind(self, builds):
|
16
|
+
if self.builds == builds:
|
17
|
+
return
|
18
|
+
self.builds = builds
|
19
|
+
self.builds.add(self)
|
20
|
+
def add(self, conf):
|
21
|
+
self.jobs.append(conf)
|
22
|
+
self.need_build = True
|
23
|
+
if self.builds is not None:
|
24
|
+
self.builds.add(self)
|
25
|
+
def build(self):
|
26
|
+
if not self.need_build:
|
27
|
+
return
|
28
|
+
self.need_build = False
|
29
|
+
for conf in self.jobs:
|
30
|
+
if Confs.is_conf(conf):
|
31
|
+
encape,c,u = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
|
32
|
+
elif isinstance(conf, Encape):
|
33
|
+
encape = conf
|
34
|
+
else:
|
35
|
+
encape,c,u = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
|
36
|
+
encape()
|
37
|
+
self.dones.append(conf)
|
38
|
+
self.jobs = []
|
39
|
+
def call(self):
|
40
|
+
self.build()
|
41
|
+
class Buildset(Base):
|
42
|
+
def init(self, mg):
|
43
|
+
self.mg = mg
|
44
|
+
self.need_build = False
|
45
|
+
self.jobs = []
|
46
|
+
self.dones = []
|
47
|
+
def add(self, builds):
|
48
|
+
if builds.need_build:
|
49
|
+
self.jobs.append(builds)
|
50
|
+
self.need_build = True
|
51
|
+
builds.bind(self)
|
52
|
+
def build(self):
|
53
|
+
if not self.need_build:
|
54
|
+
return
|
55
|
+
self.need_build = False
|
56
|
+
for builds in self.jobs:
|
57
|
+
builds()
|
58
|
+
self.dones.append(builds)
|
59
|
+
self.jobs = []
|
60
|
+
self.need_build = False
|
61
|
+
def call(self):
|
62
|
+
self.build()
|
63
|
+
|
64
|
+
pass
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#
|
2
|
+
from .tdata import TagData
|
3
|
+
from .datas import Datas
|
4
|
+
from .dataset import Dataset
|
5
|
+
class Confs(Datas):
|
6
|
+
@staticmethod
|
7
|
+
def is_conf(obj):
|
8
|
+
return type(obj) in (list, tuple, dict)
|
9
|
+
def init(self, ns=None, id=None, deal_ns = None, dts=None):
|
10
|
+
super().init(ns, id, dts)
|
11
|
+
self.deal_ns = deal_ns
|
12
|
+
def set(self, key, val, tag=None):
|
13
|
+
val = (val, self.deal_ns)
|
14
|
+
super().set(key, val, tag)
|
15
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
|
2
|
+
from ... import pyz, dz
|
3
|
+
from .tdata import TagData
|
4
|
+
class Datas(TagData):
|
5
|
+
'''
|
6
|
+
一个单元下的数据集
|
7
|
+
'''
|
8
|
+
def init(self, ns=None, id=None, dts=None):
|
9
|
+
super().init(ns, id)
|
10
|
+
self.dts = dts
|
11
|
+
def bind(self, dts):
|
12
|
+
if self.dts==dts:
|
13
|
+
return
|
14
|
+
self.dts = dts
|
15
|
+
dts.add(self)
|
16
|
+
def set(self, key, val, tag=None):
|
17
|
+
tag = pyz.nnull(tag, self.default)
|
18
|
+
super().set(key, val, tag)
|
19
|
+
if self.dts is not None and tag in (TagData.Key.Pub, TagData.Key.Ns):
|
20
|
+
self.dts.set(key, val, self.ns, tag, self)
|
21
|
+
def tget(self, key, src=None,id=None, gfind=True):
|
22
|
+
ns, id = self.nsid(src, id)
|
23
|
+
obj, tag, find=super().tget(key, ns, id)
|
24
|
+
if not find and gfind:
|
25
|
+
obj, tag, find = self.dts.tget(key, ns, id)
|
26
|
+
return obj, tag, find
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
from .tdata import TagData
|
4
|
+
from .base import *
|
5
|
+
from ... import dz
|
6
|
+
class Dataset(Base):
|
7
|
+
'''
|
8
|
+
所有数据集,只包含pub和ns部分
|
9
|
+
'''
|
10
|
+
def init(self, ids):
|
11
|
+
self.ids = ids
|
12
|
+
self.pub = {}
|
13
|
+
self.ns = {}
|
14
|
+
self.objs = {}
|
15
|
+
def set(self, key, val, ns=None, tag=None, id=None):
|
16
|
+
if tag == TagData.Key.Ns:
|
17
|
+
self.ns_set(key,val,ns,id)
|
18
|
+
else:
|
19
|
+
self.pub_set(key,val,ns,id)
|
20
|
+
def pub_set(self, key, val, ns=None, id=None):
|
21
|
+
if isinstance(id, TagData):
|
22
|
+
id = id.id
|
23
|
+
val = (val,id)
|
24
|
+
keys = self.ids(ns)+self.ids(key)
|
25
|
+
dz.dset(self.pub, keys, val)
|
26
|
+
def ns_set(self, key, val, ns=None, id=None):
|
27
|
+
if isinstance(id, TagData):
|
28
|
+
id = id.id
|
29
|
+
val = (val,id)
|
30
|
+
map = dz.get_set(self.ns, ns, dict())
|
31
|
+
map[key] = val
|
32
|
+
def add(self, data):
|
33
|
+
ns = data.ns
|
34
|
+
self.objs[data.id] = data
|
35
|
+
for key, val in data.tag(data.Key.Pub).items():
|
36
|
+
self.pub_set(key, val, ns, data)
|
37
|
+
for key, val in data.tag(data.Key.Ns).items():
|
38
|
+
self.ns_set(key, val, ns, data)
|
39
|
+
if data.dts!=self:
|
40
|
+
data.bind(self)
|
41
|
+
def tget(self, key, ns=None, id=None):
|
42
|
+
obj, id, keys,tag, find = self.get(key,ns,id)
|
43
|
+
return obj, tag, find
|
44
|
+
def get(self, key, ns=None, id = None):
|
45
|
+
obj, oid, find = self.ns_get(key,ns,id)
|
46
|
+
tag = TagData.Key.Ns
|
47
|
+
keys = key
|
48
|
+
if not find:
|
49
|
+
obj, oid, keys, find=self.pub_get(key,ns,id)
|
50
|
+
tag=TagData.Key.Pub
|
51
|
+
return obj,oid,keys,tag,find
|
52
|
+
def _pub_get(self, key, ns=None, id=None):
|
53
|
+
ids_key = self.ids(key)
|
54
|
+
ids = ids_key
|
55
|
+
obj,find = dz.dget(self.pub, ids)
|
56
|
+
if find:
|
57
|
+
return obj, ids, find
|
58
|
+
if ns is None:
|
59
|
+
return 0,0, 0
|
60
|
+
ids = self.ids(ns) + ids_key
|
61
|
+
obj,find = dz.dget(self.pub, ids)
|
62
|
+
if find:
|
63
|
+
return obj, ids, find
|
64
|
+
return 0,0,0
|
65
|
+
def pub_get(self, key, ns=None, id=None):
|
66
|
+
obj,keys,find = self._pub_get(key, ns, id)
|
67
|
+
if find:
|
68
|
+
v,id=obj
|
69
|
+
return v,id,keys,find
|
70
|
+
return 0,0,0,0
|
71
|
+
def ns_get(self, key, ns=None, id=None):
|
72
|
+
map = dz.get_set(self.ns, ns, dict())
|
73
|
+
if key not in map:
|
74
|
+
return 0, 0, 0
|
75
|
+
v,id=map[key]
|
76
|
+
return v,id, 1
|
@@ -0,0 +1,106 @@
|
|
1
|
+
#
|
2
|
+
from .datas import Datas
|
3
|
+
from .dataset import Dataset
|
4
|
+
from .confs import Confs
|
5
|
+
class Encapes(Datas):
|
6
|
+
def init(self, ns=None, id=None, dts=None, unit=None):
|
7
|
+
super().init(ns, id, dts)
|
8
|
+
self.confs = None
|
9
|
+
self.deals = None
|
10
|
+
self.deal_key = None
|
11
|
+
self.unit = unit
|
12
|
+
self.build()
|
13
|
+
def build(self):
|
14
|
+
if self.unit is None or self.confs is not None:
|
15
|
+
return
|
16
|
+
self.confs = self.unit.confs
|
17
|
+
self.deals = self.unit.deals
|
18
|
+
self.deal_key = self.unit.deal_key
|
19
|
+
def make(self, key, ns=None, id=None):
|
20
|
+
if self.confs is None or self.deals is None or self.deal_key is None:
|
21
|
+
return 0,0,0
|
22
|
+
conf, ctag, cfind = self.confs.tget(key, ns, id, False)
|
23
|
+
if not cfind:
|
24
|
+
return 0,0,0
|
25
|
+
conf, deal_ns = conf
|
26
|
+
encape, conf, upd = self.make_conf(conf, deal_ns, id)
|
27
|
+
if upd:
|
28
|
+
self.confs.set(key, conf, ctag)
|
29
|
+
self.set(key, encape, ctag)
|
30
|
+
return encape, ctag, 1
|
31
|
+
def make_conf(self, conf, deal_ns=None, id=None):
|
32
|
+
deal_key, dk_find = self.deal_key(conf)
|
33
|
+
deal, dtag, dfind = self.deals.tget(deal_key, deal_ns, id, True)
|
34
|
+
assert dfind
|
35
|
+
encape, conf, upd = deal(conf, self.unit)
|
36
|
+
return encape, conf, upd
|
37
|
+
def tget(self, key, src=None,id=None, gfind=True):
|
38
|
+
if Confs.is_conf(key):
|
39
|
+
encape, conf, upd = self.make_conf(key, self.deals.ns, id)
|
40
|
+
return encape, Datas.Key.Pub, 1
|
41
|
+
ns, id = self.nsid(src, id)
|
42
|
+
obj, tag, find=super().tget(key, ns, id, False)
|
43
|
+
if find:
|
44
|
+
return obj, tag, find
|
45
|
+
obj, tag, find = self.make(key, ns, id)
|
46
|
+
if find:
|
47
|
+
return obj, tag, find
|
48
|
+
if not gfind:
|
49
|
+
return 0,0,0
|
50
|
+
return self.dts.tget(key, ns, id)
|
51
|
+
class Encapeset(Dataset):
|
52
|
+
'''
|
53
|
+
生成对象前的中间层
|
54
|
+
'''
|
55
|
+
def init(self, ids, mg=None):
|
56
|
+
super().init(ids)
|
57
|
+
self.confs = None
|
58
|
+
self.deals = None
|
59
|
+
self.deal_key = None
|
60
|
+
self.mg = None
|
61
|
+
self.bind(mg)
|
62
|
+
def bind(self, mg):
|
63
|
+
if self.mg==mg:
|
64
|
+
return self
|
65
|
+
self.mg = mg
|
66
|
+
self.confs = mg.confs
|
67
|
+
self.deals = mg.deals
|
68
|
+
self.deal_key = mg.deal_key
|
69
|
+
return self
|
70
|
+
def make(self, key, ns=None, id = None):
|
71
|
+
conf, cid, keys, ctag, cfind = self.confs.get(key, ns, id)
|
72
|
+
if not cfind:
|
73
|
+
return 0,0,0,0,0
|
74
|
+
conf, deal_ns = conf
|
75
|
+
encape, conf, upd = self.make_conf(conf, deal_ns, id, cid)
|
76
|
+
if cid in self.objs:
|
77
|
+
obj = self.objs[id]
|
78
|
+
if ns != obj.ns:
|
79
|
+
ids_ns = self.ids(obj.ns)
|
80
|
+
keys_ns = keys[:len(ids_ns)]
|
81
|
+
assert ids_ns == keys_ns, f"{ids_ns}!={keys_ns}"
|
82
|
+
keys = keys[len(ids_ns):]
|
83
|
+
key = self.ids.id(keys)
|
84
|
+
self.objs[cid].set(key, encape, ctag)
|
85
|
+
if upd:
|
86
|
+
self.confs.objs[cid].set(key, conf, ctag)
|
87
|
+
else:
|
88
|
+
self.set(key, encape, ns, ctag)
|
89
|
+
return encape, cid, keys, ctag, 1
|
90
|
+
def make_conf(self, conf, deal_ns=None, id=None,cid=None):
|
91
|
+
deal_key, dk_find = self.deal_key(conf)
|
92
|
+
deal, dtag, dfind = self.deals.tget(deal_key, deal_ns, id)
|
93
|
+
assert dfind
|
94
|
+
unit = self.mg.get_unit(cid)
|
95
|
+
encape, conf, upd = deal(conf, unit)
|
96
|
+
return encape, conf, upd
|
97
|
+
def get(self, key, ns=None, id=None):
|
98
|
+
if Confs.is_conf(key):
|
99
|
+
encape, conf, upd = self.make_conf(key, None, id)
|
100
|
+
return encape, None, None, Datas.Key.Pub, 1
|
101
|
+
obj, eid, keys, tag, find = super().get(key, ns, id)
|
102
|
+
if find:
|
103
|
+
return obj, eid, keys, tag, find
|
104
|
+
return self.make(key, ns, id)
|
105
|
+
|
106
|
+
|
@@ -12,13 +12,12 @@ class Ids(Base):
|
|
12
12
|
ids = ids[0]
|
13
13
|
return self.spt.join(ids)
|
14
14
|
def ids(self, id):
|
15
|
+
if id is None:
|
16
|
+
return []
|
15
17
|
if type(id) in (list, tuple):
|
16
18
|
return id
|
17
19
|
return id.split(self.spt)
|
18
20
|
def call(self, id):
|
19
21
|
return self.ids(id)
|
20
|
-
a = self.ids(a)
|
21
|
-
b = self.ids(b)
|
22
|
-
return self.id(a,b)
|
23
22
|
pass
|
24
23
|
|
@@ -0,0 +1,88 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
from .base import *
|
4
|
+
from .encapes import Encapeset
|
5
|
+
from .dataset import Dataset
|
6
|
+
from ... import pyz,dz
|
7
|
+
from .ids import Ids
|
8
|
+
from .unit import Unit
|
9
|
+
from .builds import Buildset
|
10
|
+
class GetKey(Base):
|
11
|
+
def call(self, conf):
|
12
|
+
return None, 0
|
13
|
+
def fill(self, conf, key):
|
14
|
+
assert 0,'not callable'
|
15
|
+
class SimpleConfKey(Base):
|
16
|
+
def init(self, key):
|
17
|
+
self.key = key
|
18
|
+
def call(self, conf):
|
19
|
+
if self.key not in conf:
|
20
|
+
return None,0
|
21
|
+
return conf[self.key],1
|
22
|
+
def fill(self, conf, key):
|
23
|
+
conf[self.key] = key
|
24
|
+
|
25
|
+
pass
|
26
|
+
class Manager(Base):
|
27
|
+
@staticmethod
|
28
|
+
def make_key(key):
|
29
|
+
if type(key) == str:
|
30
|
+
key = SimpleConfKey(key)
|
31
|
+
return key
|
32
|
+
@staticmethod
|
33
|
+
def make_ids(ids):
|
34
|
+
if type(ids)==str:
|
35
|
+
ids = Ids(ids)
|
36
|
+
return ids
|
37
|
+
def init(self, ids, deal_key='type', conf_key='id', deal_ids = None):
|
38
|
+
self._index = 0
|
39
|
+
self.units = {}
|
40
|
+
self.builds = Buildset(self)
|
41
|
+
ids = self.make_ids(ids)
|
42
|
+
self.ids = ids
|
43
|
+
self.deal_key = self.make_key(deal_key)
|
44
|
+
self.conf_key = self.make_key(conf_key)
|
45
|
+
self.deal_ids = pyz.nnull(deal_ids, ids)
|
46
|
+
self.confs = Dataset(self.ids)
|
47
|
+
self.deals = Dataset(self.deal_ids)
|
48
|
+
self.encapes = Encapeset(self.ids, self)
|
49
|
+
self.default_unit = self.create()
|
50
|
+
def add_build(self, conf):
|
51
|
+
self.builds.add(conf)
|
52
|
+
def build(self):
|
53
|
+
self.builds.build()
|
54
|
+
def add(self, unit):
|
55
|
+
unit.bind(self)
|
56
|
+
self.units[unit.id] = unit
|
57
|
+
def create(self, ns=None, deal_ns = None, deal_key=None, conf_key= None):
|
58
|
+
id = self.id()
|
59
|
+
deal_key = pyz.nnull(deal_key, self.deal_key)
|
60
|
+
conf_key = pyz.nnull(conf_key, self.conf_key)
|
61
|
+
deal_key = self.make_key(deal_key)
|
62
|
+
conf_key = self.make_key(conf_key)
|
63
|
+
unit = Unit(ns, deal_ns, deal_key, conf_key, id)
|
64
|
+
unit.bind(self)
|
65
|
+
return unit
|
66
|
+
def get_unit(self, id):
|
67
|
+
if id not in self.units:
|
68
|
+
return self.default_unit
|
69
|
+
return self.units[id]
|
70
|
+
def id(self):
|
71
|
+
index = self._index
|
72
|
+
self._index+=1
|
73
|
+
return index
|
74
|
+
def get_deal(self, key, ns=None, id=None):
|
75
|
+
return self.deals.tget(key, ns, id)
|
76
|
+
def set_deal(self, key, deal, ns=None, tag=None, id=None):
|
77
|
+
self.deals.set(key, deal, ns, tag, id)
|
78
|
+
def get_conf(self, key, ns=None, id=None):
|
79
|
+
return self.confs.tget(key, ns, id)
|
80
|
+
def set_conf(self, key, conf, ns=None, tag=None, id=None):
|
81
|
+
self.confs.set(key, conf, ns, tag, id)
|
82
|
+
def get_encape(self, key, ns=None, id=None):
|
83
|
+
self.build()
|
84
|
+
return self.encapes.tget(key, ns, id)
|
85
|
+
def set_encape(self, key, encape, ns=None, tag=None, id=None):
|
86
|
+
self.encapes.set(key, encape, ns, tag, id)
|
87
|
+
|
88
|
+
pass
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#
|
2
|
+
from ... import pyz,dz,Base
|
3
|
+
|
4
|
+
class Key:
|
5
|
+
default_param_key = 'single_id'
|
6
|
+
i_multi = 0
|
7
|
+
i_single = 1
|
8
|
+
i_param = 2
|
9
|
+
multi='multi'
|
10
|
+
single='single'
|
11
|
+
param='param'
|
12
|
+
str2int = {
|
13
|
+
multi:i_multi,
|
14
|
+
single: i_single,
|
15
|
+
param: i_param
|
16
|
+
}
|
17
|
+
@staticmethod
|
18
|
+
def s2i(key=None):
|
19
|
+
if key is None:
|
20
|
+
key = Key.i_single
|
21
|
+
if key in Key.str2int:
|
22
|
+
key = Key.str2int[key]
|
23
|
+
return key
|
24
|
+
class Single(Base):
|
25
|
+
Key = Key
|
26
|
+
def init(self, single=None, param_key = None):
|
27
|
+
if param_key is None:
|
28
|
+
param_key = Key.default_param_key
|
29
|
+
self.single = Key.s2i(single)
|
30
|
+
self.objs = {}
|
31
|
+
self.param_key = param_key
|
32
|
+
def get_key(self, params):
|
33
|
+
if self.single == Key.i_multi:
|
34
|
+
return 0,0
|
35
|
+
elif self.single == Key.i_single:
|
36
|
+
key = None
|
37
|
+
elif self.single == Key.i_param:
|
38
|
+
if params is None:
|
39
|
+
key = None
|
40
|
+
else:
|
41
|
+
key = params.get(self.param_key)
|
42
|
+
else:
|
43
|
+
assert 0
|
44
|
+
return key,1
|
45
|
+
def set(self, params, obj):
|
46
|
+
key, find = self.get_key(params)
|
47
|
+
if not find:
|
48
|
+
return
|
49
|
+
self.objs[key] = obj
|
50
|
+
def get(self, params):
|
51
|
+
key, find = self.get_key(params)
|
52
|
+
if not find:
|
53
|
+
return 0,0
|
54
|
+
if key not in self.objs:
|
55
|
+
return 0,0
|
56
|
+
return self.objs[key],1
|