buildz 0.6.46__tar.gz → 0.6.48__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.46/buildz.egg-info → buildz-0.6.48}/PKG-INFO +1 -1
- buildz-0.6.48/buildz/dz/__init__.py +3 -0
- buildz-0.6.48/buildz/dz/mapz.py +323 -0
- buildz-0.6.48/buildz/iocz/ioc/base.py +14 -0
- buildz-0.6.48/buildz/iocz/ioc/bind.py +14 -0
- buildz-0.6.48/buildz/iocz/ioc/datas.py +23 -0
- buildz-0.6.48/buildz/iocz/ioc/dataset.py +35 -0
- buildz-0.6.48/buildz/iocz/ioc/deals.py +14 -0
- buildz-0.6.48/buildz/iocz/ioc/dm.py +28 -0
- buildz-0.6.48/buildz/iocz/ioc/encapes.py +26 -0
- buildz-0.6.48/buildz/iocz/ioc/envm.py +2 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/ioc/ids.py +2 -1
- buildz-0.6.48/buildz/iocz/ioc/tdata.py +42 -0
- buildz-0.6.48/buildz/iocz/ioc/tdict.py +32 -0
- buildz-0.6.48/buildz/iocz/ioc/unit.py +26 -0
- buildz-0.6.48/buildz/iocz/ioc_deal/obj.py +79 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/logz.py +20 -2
- buildz-0.6.48/buildz/netz/__init__.py +0 -0
- buildz-0.6.48/buildz/netz/mhttp/__init__.py +5 -0
- buildz-0.6.48/buildz/netz/mhttp/caps.py +138 -0
- buildz-0.6.48/buildz/netz/mhttp/mhttp.py +245 -0
- buildz-0.6.48/buildz/netz/mhttp/proxy.py +161 -0
- buildz-0.6.48/buildz/netz/mhttp/record.py +90 -0
- buildz-0.6.48/buildz/netz/sslz/__init__.py +2 -0
- buildz-0.6.48/buildz/netz/sslz/gen.py +392 -0
- buildz-0.6.48/buildz/netz/sslz/gen.pyi +54 -0
- buildz-0.6.48/buildz/netz/test/__main__.py +2 -0
- buildz-0.6.48/buildz/netz/test/test.py +70 -0
- buildz-0.6.48/buildz/netz/test/test_cli.py +43 -0
- {buildz-0.6.46 → buildz-0.6.48/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.6.46 → buildz-0.6.48}/buildz.egg-info/SOURCES.txt +25 -0
- {buildz-0.6.46 → buildz-0.6.48}/setup.py +1 -1
- buildz-0.6.46/buildz/iocz/ioc/base.py +0 -5
- {buildz-0.6.46 → buildz-0.6.48}/LICENSE +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/MANIFEST.in +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/README.md +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/__main__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argx.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/argz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/build.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/callz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/evalx.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/test_obj.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/tests/conf.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/testx.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/cache.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/config.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/dbs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/deal.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/deal_list.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/deal_type.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/defs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/factory.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/init.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/log.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/request.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/run.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/save.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/cache/cache.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/config/base.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/config/config.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/fp.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/item1.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/item2.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/test.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/xtest.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/verify.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/cachez/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/cachez/cache.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/cmd.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/confz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/__main__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/clickhousez.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/mysqlz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/oraclez.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/orm.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/postgresqlz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/sqlite3z.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/install.txt +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/run.conf +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/runz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/db/tls.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/evalz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/res/default.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/fio.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/html/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/html/test/demo.html +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/html/test/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/html/xml.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/init.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/confs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/decorator.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/loads.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/branch.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/init.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/map.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/obj.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/refs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/wrap.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/ioc/confs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/ioc/env.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/pathz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/pyz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tools.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/test_xfind.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/time/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/time/timez.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/getch.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/lx.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/win.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/xfind.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/code.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/file.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/listmapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/lrval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/strz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/mg.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/buffer.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/exp.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/item.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/mg.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/pos.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/test1.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/read.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/readz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/readz_nexp.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/stack.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/write.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/listmapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/base.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/conf.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/jsonval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/listmapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/listz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/mapz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/reval.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/strz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/itemz.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/mg.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/testx.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writez.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/xargs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/__init__.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/conf.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/data.js +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/test.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/trs.py +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/notes/notes.txt +0 -0
- {buildz-0.6.46 → buildz-0.6.48}/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.48
|
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,323 @@
|
|
1
|
+
from buildz import pyz
|
2
|
+
def get(obj, key, default=None, set = False):
|
3
|
+
if type(obj)==list:
|
4
|
+
key = int(key)
|
5
|
+
if len(obj)<=key:
|
6
|
+
return default
|
7
|
+
return obj[key]
|
8
|
+
else:
|
9
|
+
if key not in obj:
|
10
|
+
if set:
|
11
|
+
obj[key] = default
|
12
|
+
return default
|
13
|
+
return obj[key]
|
14
|
+
|
15
|
+
pass
|
16
|
+
def getf(obj, key, fc):
|
17
|
+
if key not in obj:
|
18
|
+
return fc()
|
19
|
+
return obj[key]
|
20
|
+
|
21
|
+
pass
|
22
|
+
def gfn(obj, **maps):
|
23
|
+
rst = []
|
24
|
+
for k in maps:
|
25
|
+
if k in obj and obj[k] is not None:
|
26
|
+
v = obj[k]
|
27
|
+
else:
|
28
|
+
v = maps[k]()
|
29
|
+
rst.append(v)
|
30
|
+
if len(rst)==1:
|
31
|
+
rst = rst[0]
|
32
|
+
return rst
|
33
|
+
|
34
|
+
pass
|
35
|
+
def gf(obj, **maps):
|
36
|
+
rst = []
|
37
|
+
for k in maps:
|
38
|
+
if k in obj:
|
39
|
+
v = obj[k]
|
40
|
+
else:
|
41
|
+
v = maps[k]()
|
42
|
+
rst.append(v)
|
43
|
+
if len(rst)==1:
|
44
|
+
rst = rst[0]
|
45
|
+
return rst
|
46
|
+
|
47
|
+
pass
|
48
|
+
def get_first(obj, *keys):
|
49
|
+
for k in keys:
|
50
|
+
if k in obj:
|
51
|
+
return obj[k]
|
52
|
+
raise KeyError(keys[0])
|
53
|
+
|
54
|
+
pass
|
55
|
+
def get_one(obj, keys, default = None):
|
56
|
+
for k in keys:
|
57
|
+
if k in obj:
|
58
|
+
return obj[k]
|
59
|
+
return default
|
60
|
+
|
61
|
+
pass
|
62
|
+
def g1(obj, **maps):
|
63
|
+
v = None
|
64
|
+
for k in maps:
|
65
|
+
v = maps[k]
|
66
|
+
if k in obj:
|
67
|
+
v = obj[k]
|
68
|
+
return v
|
69
|
+
return v
|
70
|
+
|
71
|
+
pass
|
72
|
+
def g(obj, **maps):
|
73
|
+
rst = []
|
74
|
+
if obj is None:
|
75
|
+
return maps.values()
|
76
|
+
for k in maps:
|
77
|
+
v = maps[k]
|
78
|
+
if k in obj:
|
79
|
+
v = obj[k]
|
80
|
+
rst.append(v)
|
81
|
+
if len(rst)==1:
|
82
|
+
rst = rst[0]
|
83
|
+
return rst
|
84
|
+
|
85
|
+
pass
|
86
|
+
def c(obj, **maps):
|
87
|
+
for k in maps:
|
88
|
+
v = maps[k]
|
89
|
+
if k not in obj:
|
90
|
+
return False
|
91
|
+
vo = obj[k]
|
92
|
+
if vo!=v:
|
93
|
+
return False
|
94
|
+
return True
|
95
|
+
def gs(obj, **maps):
|
96
|
+
rst = []
|
97
|
+
for k in maps:
|
98
|
+
v = maps[k]
|
99
|
+
if k in obj:
|
100
|
+
v = obj[k]
|
101
|
+
else:
|
102
|
+
obj[k] = v
|
103
|
+
rst.append(v)
|
104
|
+
if len(rst)==1:
|
105
|
+
rst = rst[0]
|
106
|
+
return rst
|
107
|
+
|
108
|
+
pass
|
109
|
+
def get_set(obj, key, val):
|
110
|
+
if key not in obj:
|
111
|
+
obj[key]=val
|
112
|
+
return obj[key]
|
113
|
+
def s(obj, **maps):
|
114
|
+
for k in maps:
|
115
|
+
v = maps[k]
|
116
|
+
obj[k] = v
|
117
|
+
|
118
|
+
pass
|
119
|
+
def fill_fc(maps, fc):
|
120
|
+
for k in maps:
|
121
|
+
v = maps[k]
|
122
|
+
if type(v) == dict:
|
123
|
+
fill_fc(v, fc)
|
124
|
+
continue
|
125
|
+
maps[k] = fc(v)
|
126
|
+
return maps
|
127
|
+
|
128
|
+
pass
|
129
|
+
def im2l(maps):
|
130
|
+
if type(maps)!=dict:
|
131
|
+
return maps
|
132
|
+
mx = 0
|
133
|
+
for k in maps:
|
134
|
+
if type(k)==str:
|
135
|
+
k = int(k)
|
136
|
+
if type(k)!=int or k<0:
|
137
|
+
raise Exception(f"args key only can be int and bigger than 0, but {type(k)}:{k} found")
|
138
|
+
mx = max(k+1, mx)
|
139
|
+
arr = [None]*mx
|
140
|
+
for k, v in maps.items():
|
141
|
+
arr[k] = v
|
142
|
+
return arr
|
143
|
+
|
144
|
+
pass
|
145
|
+
|
146
|
+
def dset(maps, keys, val):
|
147
|
+
if type(keys) not in (list,tuple):
|
148
|
+
keys = [keys]
|
149
|
+
for key in keys[:-1]:
|
150
|
+
if type(maps)==dict:
|
151
|
+
if key not in maps:
|
152
|
+
maps[key] = {}
|
153
|
+
else:
|
154
|
+
key = int(key)
|
155
|
+
maps = maps[key]
|
156
|
+
maps[keys[-1]] = val
|
157
|
+
|
158
|
+
pass
|
159
|
+
def dhas(maps, keys):
|
160
|
+
if type(keys) not in (list,tuple):
|
161
|
+
keys = [keys]
|
162
|
+
for key in keys:
|
163
|
+
if type(maps)==dict:
|
164
|
+
if key not in maps:
|
165
|
+
return False
|
166
|
+
else:
|
167
|
+
key = int(key)
|
168
|
+
if key>=len(maps):
|
169
|
+
return default
|
170
|
+
maps = maps[key]
|
171
|
+
return True
|
172
|
+
|
173
|
+
pass
|
174
|
+
|
175
|
+
def dget(maps, keys):
|
176
|
+
if type(keys) not in (list,tuple):
|
177
|
+
keys = [keys]
|
178
|
+
for key in keys:
|
179
|
+
find = 1
|
180
|
+
if type(maps)==dict:
|
181
|
+
find = key in maps
|
182
|
+
elif type(maps) in (list, tuple):
|
183
|
+
try:
|
184
|
+
key = int(key)
|
185
|
+
except:
|
186
|
+
key = len(maps)
|
187
|
+
find = key<len(maps)
|
188
|
+
else:
|
189
|
+
find = False
|
190
|
+
if not find:
|
191
|
+
return None,0
|
192
|
+
maps = maps[key]
|
193
|
+
return maps,1
|
194
|
+
|
195
|
+
pass
|
196
|
+
def dremove(maps, keys):
|
197
|
+
if type(keys) not in (list,tuple):
|
198
|
+
keys = [keys]
|
199
|
+
arr = []
|
200
|
+
for key in keys:
|
201
|
+
if key not in maps:
|
202
|
+
break
|
203
|
+
arr.append([maps, key])
|
204
|
+
maps = maps[key]
|
205
|
+
arr.reverse()
|
206
|
+
first=1
|
207
|
+
for maps,key in arr:
|
208
|
+
if first or len(maps[key])==0:
|
209
|
+
del maps[key]
|
210
|
+
first=0
|
211
|
+
return None
|
212
|
+
|
213
|
+
pass
|
214
|
+
|
215
|
+
def dhget(maps, keys):
|
216
|
+
if type(keys) not in (list,tuple):
|
217
|
+
keys = [keys]
|
218
|
+
for key in keys:
|
219
|
+
find = 1
|
220
|
+
if type(maps)==dict:
|
221
|
+
find = key in maps
|
222
|
+
elif type(maps) in (list, tuple):
|
223
|
+
try:
|
224
|
+
key = int(key)
|
225
|
+
except:
|
226
|
+
key = len(maps)
|
227
|
+
find = key<len(maps)
|
228
|
+
else:
|
229
|
+
find = False
|
230
|
+
if not find:
|
231
|
+
return None, find
|
232
|
+
maps = maps[key]
|
233
|
+
return maps, True
|
234
|
+
|
235
|
+
pass
|
236
|
+
def l2m(arr, **maps):
|
237
|
+
rst = {}
|
238
|
+
i = 0
|
239
|
+
for k in maps:
|
240
|
+
if i<len(arr):
|
241
|
+
val = arr[i]
|
242
|
+
else:
|
243
|
+
val = maps[k]
|
244
|
+
rst[k] = val
|
245
|
+
i+=1
|
246
|
+
return rst
|
247
|
+
|
248
|
+
pass
|
249
|
+
|
250
|
+
def deep_update(target, src, replace=1):
|
251
|
+
"""
|
252
|
+
dict深层更新,src[key]是dict就深入更新,否则:
|
253
|
+
src有而target没有就替换,否则:
|
254
|
+
replace=1就替换
|
255
|
+
"""
|
256
|
+
for k in src:
|
257
|
+
val = src[k]
|
258
|
+
if k not in target:
|
259
|
+
target[k] = val
|
260
|
+
continue
|
261
|
+
mval = target[k]
|
262
|
+
if type(mval) == dict and type(val)==dict:
|
263
|
+
deep_update(mval, val, replace)
|
264
|
+
else:
|
265
|
+
if replace:
|
266
|
+
target[k] = val
|
267
|
+
|
268
|
+
pass
|
269
|
+
update = deep_update
|
270
|
+
def deep_fill(src, target, replace=1):
|
271
|
+
return deep_update(target, src, replace)
|
272
|
+
|
273
|
+
pass
|
274
|
+
def deep_clone(obj):
|
275
|
+
if type(obj)==list:
|
276
|
+
rst = []
|
277
|
+
for it in obj:
|
278
|
+
rst.append(deep_clone(it))
|
279
|
+
elif type(obj)==dict:
|
280
|
+
rst = {}
|
281
|
+
for k,v in obj.items():
|
282
|
+
rst[k] = deep_clone(v)
|
283
|
+
else:
|
284
|
+
rst = obj
|
285
|
+
return rst
|
286
|
+
pass
|
287
|
+
fill=deep_fill
|
288
|
+
|
289
|
+
def maps(**kv):
|
290
|
+
return kv
|
291
|
+
|
292
|
+
pass
|
293
|
+
|
294
|
+
def flush_maps(maps, fc_key = lambda x:x.split(".") if type(x)==str else [x], visit_list=False):
|
295
|
+
if type(maps)==list:
|
296
|
+
if not visit_list:
|
297
|
+
return maps
|
298
|
+
rst = [flush_maps(it, fc_key, visit_list) for it in maps]
|
299
|
+
return rst
|
300
|
+
if type(maps)!=dict:
|
301
|
+
return maps
|
302
|
+
rst = {}
|
303
|
+
for k,v in maps.items():
|
304
|
+
ks = fc_key(k)
|
305
|
+
v = flush_maps(v, fc_key, visit_list)
|
306
|
+
sets(rst, ks, v)
|
307
|
+
return rst
|
308
|
+
|
309
|
+
pass
|
310
|
+
def unflush_maps_item(rst, keys, val, fc_key):
|
311
|
+
if type(val)!=dict:
|
312
|
+
key = fc_key(keys)
|
313
|
+
rst[key] = val
|
314
|
+
return
|
315
|
+
for k, v in val.items():
|
316
|
+
unflush_maps_item(rst, keys+[k], v, fc_key)
|
317
|
+
def unflush_maps(maps, fc_key = lambda x:".".join([str(k) for k in x]) if type(x) in (list, tuple) else str(x)):
|
318
|
+
if type(maps)!=dict:
|
319
|
+
return maps
|
320
|
+
rst = {}
|
321
|
+
for k,v in maps.items():
|
322
|
+
unflush_maps_item(rst, [k], v, fc_key)
|
323
|
+
return rst
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from ..base import *
|
2
|
+
basepath = path
|
3
|
+
path = pathz.Path()
|
4
|
+
path.set("conf", basepath.local("ioc/conf"), curr=0)
|
5
|
+
|
6
|
+
class Creater(Base):
|
7
|
+
def init(self):
|
8
|
+
self.mg = None
|
9
|
+
def bind(self, mg):
|
10
|
+
self.mg = mg
|
11
|
+
def call(self, *a, **b):
|
12
|
+
return None
|
13
|
+
|
14
|
+
pass
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
from buildz import pyz, dz
|
3
|
+
from .tdata import TData
|
4
|
+
class Datas(TData):
|
5
|
+
def init(self, id=None, ns=None, dts=None):
|
6
|
+
super().init(id,ns)
|
7
|
+
self.dts = dts
|
8
|
+
def bind(self, dts):
|
9
|
+
self.dts = dts
|
10
|
+
def set(self, key, val, tag=None):
|
11
|
+
tag = pyz.nnull(tag, self.default)
|
12
|
+
super().set(key, val, tag)
|
13
|
+
if self.dts is not None:
|
14
|
+
if tag == Key.pub:
|
15
|
+
self.dts.set(key, val, self.ns)
|
16
|
+
elif tag == Key.ns:
|
17
|
+
self.dts.ns_set(key, val, self.ns)
|
18
|
+
def tget(self, key, src=None,id=None, gfind=True):
|
19
|
+
ns, id = self.nsid(src, id)
|
20
|
+
obj, find=super().tget(key, src, id)
|
21
|
+
if not find and gfind:
|
22
|
+
obj, find = self.dts.get(key, ns, id)
|
23
|
+
return obj, find
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
from .tdata import TData, TNData
|
4
|
+
from buildz import dz
|
5
|
+
class Dataset(Base):
|
6
|
+
def init(self, ids):
|
7
|
+
self.ids = ids
|
8
|
+
self.pub = {}
|
9
|
+
self.ns = {}
|
10
|
+
def set(self, key, val, ns=None):
|
11
|
+
keys = self.ids(ns)+self.ids(key)
|
12
|
+
dz.dset(self.pub, keys, val)
|
13
|
+
def ns_set(self, key, val, ns=None):
|
14
|
+
map = dz.get_set(self.ns, ns, dict())
|
15
|
+
map[key] = val
|
16
|
+
def add(self, data):
|
17
|
+
ns = data.ns
|
18
|
+
for key, val in data.pub.items():
|
19
|
+
self.set(key, val, ns)
|
20
|
+
for key, val in data.ns.items()
|
21
|
+
self.ns_set(key, val, ns)
|
22
|
+
data.bind(self)
|
23
|
+
def get(self, key, ns=None, id = None):
|
24
|
+
obj, find = self.ns_get(key,ns,id)
|
25
|
+
if not find:
|
26
|
+
obj,find=self.pub_get(key,ns,id)
|
27
|
+
return obj,find
|
28
|
+
def pub_get(self, key, ns=None, id=None):
|
29
|
+
ids = self.ids(ns)+self.ids(key)
|
30
|
+
return dz.dget(self.pub, ids)
|
31
|
+
def ns_get(self, key, ns=None, id=None):
|
32
|
+
map = dz.get_set(self.ns, ns, dict())
|
33
|
+
if key not in map:
|
34
|
+
return None, 0
|
35
|
+
return map[key], 1
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#
|
2
|
+
from .tdata import TData
|
3
|
+
class Deals(TData):
|
4
|
+
def init(self, mg=None, id=None, ns=None):
|
5
|
+
self.mg = mg
|
6
|
+
super().init(id,ns)
|
7
|
+
def bind(self, mg):
|
8
|
+
self.mg = mg
|
9
|
+
def tget(self, key, src=None,id=None):
|
10
|
+
ns, id = self.nsid(src, id)
|
11
|
+
obj,find=super().tget(key, src, id)
|
12
|
+
if not find:
|
13
|
+
obj,find = self.mg.get_deal(key, src, id)
|
14
|
+
return obj, find
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
# type 1
|
4
|
+
confbd = ConfsBuilder()
|
5
|
+
confbd.add_build(EnvBuilder())
|
6
|
+
confsbd.add_build(DataBduiler())
|
7
|
+
confsbd.add_build(InitBuilder())
|
8
|
+
confsbd.add_build(VarBuilder())
|
9
|
+
confs = confsbd()
|
10
|
+
|
11
|
+
confbd = confsbd.build_conf()
|
12
|
+
|
13
|
+
conf = Conf()
|
14
|
+
conf.add_env()
|
15
|
+
conf.add_data()
|
16
|
+
conf.add_init()
|
17
|
+
|
18
|
+
confs.add_conf(conf)
|
19
|
+
|
20
|
+
# type2
|
21
|
+
|
22
|
+
mg = Manager()
|
23
|
+
mg.add("env", EnvBuilder())
|
24
|
+
mg.add("data", Data())
|
25
|
+
|
26
|
+
mg.data.add(id, Data())
|
27
|
+
|
28
|
+
mg.data.get()
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#
|
2
|
+
from .tdata import TData
|
3
|
+
from .datas import Datas
|
4
|
+
from .dataset import Dataset
|
5
|
+
class Encpaes(Datas):
|
6
|
+
def init(self, confs, deals, id=None, ns=None, dts=None):
|
7
|
+
super().init(id, ns, dts)
|
8
|
+
def tget(self, key, src=None,id=None, gfind=True):
|
9
|
+
class Encapeset(Dataset):
|
10
|
+
'''
|
11
|
+
生成对象前的中间层
|
12
|
+
'''
|
13
|
+
def init(self, ids, confs, deals):
|
14
|
+
super().init(ids)
|
15
|
+
self.confs = confs
|
16
|
+
self.deals = deals
|
17
|
+
def pub_get(self, key, ns=None, id=None):
|
18
|
+
obj, find = super().get(key, ns, id)
|
19
|
+
|
20
|
+
def ns_get(self, key, ns=None, deal_ns=None):
|
21
|
+
map = dz.get_set(self.ns, ns, dict())
|
22
|
+
if key not in map:
|
23
|
+
return None, 0
|
24
|
+
return map[key], 1
|
25
|
+
|
26
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#
|
2
|
+
from .tdict import TDict
|
3
|
+
from buildz import pyz, dz
|
4
|
+
class Key:
|
5
|
+
Pub = "pub"
|
6
|
+
Pri = "pri"
|
7
|
+
Ns = "ns"
|
8
|
+
tags_ns = "ns,pub".split(",")
|
9
|
+
tags_pub = ['pub']
|
10
|
+
tags_pri = None
|
11
|
+
pass
|
12
|
+
class TData(TDict):
|
13
|
+
'''
|
14
|
+
分成三个域,公共pub,私有pri和同域名ns
|
15
|
+
不同域名只能访问pub数据
|
16
|
+
同域名访问pub和ns
|
17
|
+
同一个配置文件内(同一个id)访问pub,ns和pri
|
18
|
+
'''
|
19
|
+
def init(self, id=None, ns=None):
|
20
|
+
self.ns = ns
|
21
|
+
self.id = id
|
22
|
+
super().init(Key.Pub)
|
23
|
+
def call(self, *a,**b):
|
24
|
+
return self.tget(*a,**b)
|
25
|
+
def nsid(self, src, id):
|
26
|
+
if isinstance(src, TData):
|
27
|
+
ns = src.ns
|
28
|
+
id = src.id
|
29
|
+
else:
|
30
|
+
ns = src
|
31
|
+
return ns, id
|
32
|
+
def tget(self, key, src=None, id=None):
|
33
|
+
ns, id = self.nsid(src, id)
|
34
|
+
if id == self.id:
|
35
|
+
tags = Key.tags_pri
|
36
|
+
elif ns == self.ns:
|
37
|
+
tags = Key.tags_ns
|
38
|
+
else:
|
39
|
+
tags = Key.tags_pub
|
40
|
+
return self.get(key, tags)
|
41
|
+
|
42
|
+
pass
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#
|
2
|
+
from buildz import pyz,dz,Base
|
3
|
+
class TDict(Base):
|
4
|
+
def remove(self, key, tag=None):
|
5
|
+
tag = pyz.nnull(tag, self.default)
|
6
|
+
rst = dz.get_set(self.maps, tag, dict())
|
7
|
+
dz.dremove(rst, key)
|
8
|
+
def set(self, key, val, tag=None):
|
9
|
+
tag = pyz.nnull(tag, self.default)
|
10
|
+
rst = dz.get_set(self.maps, tag, dict())
|
11
|
+
dz.dset(rst, key, val)
|
12
|
+
def get(self, key, tags=None):
|
13
|
+
if tags is None:
|
14
|
+
tags = self.maps.keys()
|
15
|
+
elif type(tags) not in (list,tuple,set):
|
16
|
+
tags = [tags]
|
17
|
+
for tag in tags:
|
18
|
+
if tag not in self.maps:
|
19
|
+
continue
|
20
|
+
rst = self.maps[tag]
|
21
|
+
val, has = dz.dget(rst, key)
|
22
|
+
if has:
|
23
|
+
return val, 1
|
24
|
+
return None,0
|
25
|
+
def __getattr__(self, tag):
|
26
|
+
rst = dz.get_set(self.maps, tag, dict())
|
27
|
+
return rst
|
28
|
+
def init(self, default=""):
|
29
|
+
self.maps = {}
|
30
|
+
self.default=default
|
31
|
+
|
32
|
+
pass
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#
|
2
|
+
from .tdata import TData, TNData
|
3
|
+
class Unit(Base):
|
4
|
+
def init(self, id=None, ns=None, deals=None):
|
5
|
+
self.id = id
|
6
|
+
self.ns = ns
|
7
|
+
self.confs = Datas(id, ns)
|
8
|
+
self.encapes = Datas(id, ns)
|
9
|
+
self.deals = deals
|
10
|
+
self.mg = None
|
11
|
+
def bind(self, mg):
|
12
|
+
self.mg = mg
|
13
|
+
self.confs.bind(mg.confs)
|
14
|
+
self.deals.bind(mg.deals)
|
15
|
+
def get_deal(self, key, src=None, id=None, gfind=True):
|
16
|
+
return self.deals.tget(key, src, id, gfind)
|
17
|
+
def get_conf(self, key, src=None, id=None, gfind=True):
|
18
|
+
return self.confs.tget(key, src, id, gfind)
|
19
|
+
def get_encape(self, key, src=None, id=None, gfind=True):
|
20
|
+
obj, find = self.encapes.tget(key, src, id)
|
21
|
+
if not find:
|
22
|
+
conf, cfind = self.get_conf(key, src, id, False)
|
23
|
+
if not cfind:
|
24
|
+
return None, 0
|
25
|
+
|
26
|
+
deal, dfind = self.get_deal(key, src, id)
|
@@ -0,0 +1,79 @@
|
|
1
|
+
|
2
|
+
from ..ioc.base import *
|
3
|
+
from buildz import dz
|
4
|
+
class ObjectType(Base):
|
5
|
+
Single=0
|
6
|
+
Multi=1
|
7
|
+
SingleVars=2
|
8
|
+
|
9
|
+
class ObjectCreater(Creater):
|
10
|
+
def init(self, obj_type = ObjectType.Single):
|
11
|
+
super().init()
|
12
|
+
self.obj_type = obj_type
|
13
|
+
self.args = []
|
14
|
+
self.maps = {}
|
15
|
+
self.sets = {}
|
16
|
+
self.before_set = None
|
17
|
+
self.after_set = None
|
18
|
+
self.before_remove = None
|
19
|
+
self.fc = None
|
20
|
+
self.single = Single()
|
21
|
+
def fills(self, params):
|
22
|
+
_a, _m, _s = dz.g(params, args=[], maps={}, sets={})
|
23
|
+
args = self.args
|
24
|
+
args = _a+args[len(_a):]
|
25
|
+
maps = dict(self.maps)
|
26
|
+
maps.update(_m)
|
27
|
+
sets = dict(self.sets)
|
28
|
+
sets.update(_s)
|
29
|
+
return args, maps, sets
|
30
|
+
def single_id(self, params):
|
31
|
+
def hash(self, params):
|
32
|
+
if self.obj_type == ObjectType.Single or self.obj_type == ObjectType.Multi:
|
33
|
+
return ""
|
34
|
+
_a, _m, _s = dz.g(params, args=[], maps={}, sets={})
|
35
|
+
args = self.args
|
36
|
+
args = _a+args[len(_a):]
|
37
|
+
maps = dict(self.maps)
|
38
|
+
maps.update(_m)
|
39
|
+
sets = dict(self.sets)
|
40
|
+
sets.update(_s)
|
41
|
+
args = [str(self.mg.hash(it)) for it in args]
|
42
|
+
maps = [str(k)+":"+self.mg.hash(val) for k,val in maps.items()]
|
43
|
+
sets = [str(k)+":"+self.mg.hash(val) for k,val in sets.items()]
|
44
|
+
args = ",".join(args)
|
45
|
+
maps = ",".join(maps)
|
46
|
+
sets = ",".join(sets)
|
47
|
+
val = [args, maps, self.mg.hash(self.before_set), sets, self.mg.hash(self.after_set)]
|
48
|
+
return "|".join(val)
|
49
|
+
def call(self, params):
|
50
|
+
call_type = dz.g(params, type="create")
|
51
|
+
if call_type == "remove":
|
52
|
+
self.mg.deal()
|
53
|
+
id = None
|
54
|
+
if self.obj_type == ObjectType.Single:
|
55
|
+
if self.single.has(id):
|
56
|
+
return self.single.get(id)
|
57
|
+
_a, _m, _s = dz.g(params, args=[], maps={}, sets={})
|
58
|
+
args = self.args
|
59
|
+
args = _a+args[len(_a):]
|
60
|
+
maps = dict(self.maps)
|
61
|
+
maps.update(_m)
|
62
|
+
sets = dict(self.sets)
|
63
|
+
sets.update(_s)
|
64
|
+
if self.obj_type == ObjectType.SingleVars:
|
65
|
+
id = self.hash(params)
|
66
|
+
if self.single.has(id):
|
67
|
+
return self.single.get(id)
|
68
|
+
args = [self.mg.deal(it) for it in args]
|
69
|
+
maps = {k:self.mg.deal(v) for k,v in maps.items()}
|
70
|
+
obj = self.fc(*args, **maps)
|
71
|
+
params = {'target':obj}
|
72
|
+
self.mg.deal(self.before_set, params=params)
|
73
|
+
sets = {k:self.mg.deal(v) for k,v in sets.items()}
|
74
|
+
for k,v in sets:
|
75
|
+
setattr(obj, k, v)
|
76
|
+
self.mg.deal(self.after_set, params=params)
|
77
|
+
if self.obj_type!=ObjectType.Multi:
|
78
|
+
self.single.set(id, obj)
|
79
|
+
return obj
|