buildz 0.6.8__tar.gz → 0.6.10__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.8/buildz.egg-info → buildz-0.6.10}/PKG-INFO +1 -1
- {buildz-0.6.8 → buildz-0.6.10}/buildz/__init__.py +1 -1
- buildz-0.6.10/buildz/base.py +55 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc/base.py +4 -2
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc/confs.py +20 -1
- buildz-0.6.10/buildz/ioc/ioc_deal/branch.py +47 -0
- buildz-0.6.10/buildz/ioc/ioc_deal/conf/branch_lists.js +26 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/deals.js +5 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/pyz.py +1 -1
- {buildz-0.6.8 → buildz-0.6.10}/buildz/tz/__init__.py +1 -1
- buildz-0.6.10/buildz/tz/tio/__init__.py +3 -0
- buildz-0.6.10/buildz/tz/tio/base.py +7 -0
- buildz-0.6.10/buildz/tz/tio/getch.py +23 -0
- buildz-0.6.10/buildz/tz/tio/lx.py +38 -0
- buildz-0.6.10/buildz/tz/tio/test.py +12 -0
- buildz-0.6.10/buildz/tz/tio/win.py +8 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/listmapz.py +7 -1
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/readz.py +1 -1
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/xargs.py +3 -1
- {buildz-0.6.8 → buildz-0.6.10/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.6.8 → buildz-0.6.10}/buildz.egg-info/SOURCES.txt +8 -0
- {buildz-0.6.8 → buildz-0.6.10}/setup.py +1 -1
- buildz-0.6.8/buildz/base.py +0 -21
- {buildz-0.6.8 → buildz-0.6.10}/LICENSE +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/MANIFEST.in +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/README.md +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/__main__.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/argx.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/cmd.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/__main__.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/dv/clickhousez.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/dv/mysqlz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/dv/oraclez.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/install.txt +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/run.conf +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/db/runz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/test.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/fz/fio.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/base.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/init.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/map.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/obj.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/tools.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/__init__.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/code.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/file.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/lrval.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/strz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/mg.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/read.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/stack.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/write.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.8 → buildz-0.6.10}/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.10
|
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,55 @@
|
|
1
|
+
#coding=utf-8
|
2
|
+
from . import pyz
|
3
|
+
class Base:
|
4
|
+
def str(self):
|
5
|
+
return str(self.__class__)
|
6
|
+
def __str__(self):
|
7
|
+
return self.str()
|
8
|
+
def __repr__(self):
|
9
|
+
return self.__str__()
|
10
|
+
def __init__(self, *args, **maps):
|
11
|
+
self.init(*args, **maps)
|
12
|
+
def __call__(self, *args, **maps):
|
13
|
+
return self.call(*args, **maps)
|
14
|
+
def init(self, *args, **maps):
|
15
|
+
pass
|
16
|
+
def call(self, *args, **maps):
|
17
|
+
return self.deal(*args, **maps)
|
18
|
+
def deal(self, *args, **maps):
|
19
|
+
return None
|
20
|
+
|
21
|
+
pass
|
22
|
+
|
23
|
+
class WBase(Base):
|
24
|
+
def _open(self):
|
25
|
+
pass
|
26
|
+
def open(self):
|
27
|
+
self._open()
|
28
|
+
return pyz.with_out(self.close, True)
|
29
|
+
def _close(self):
|
30
|
+
pass
|
31
|
+
def close(self, exc_type, exc_val, exc_tb):
|
32
|
+
self._close()
|
33
|
+
|
34
|
+
pass
|
35
|
+
|
36
|
+
class With(Base):
|
37
|
+
def init(self, args=False):
|
38
|
+
self.args = args
|
39
|
+
def call(self, cls):
|
40
|
+
def _open(obj):
|
41
|
+
pass
|
42
|
+
def open(obj):
|
43
|
+
obj._open()
|
44
|
+
return pyz.with_out(obj.close, self.args)
|
45
|
+
def _close(obj):
|
46
|
+
pass
|
47
|
+
def close(obj):
|
48
|
+
obj._close()
|
49
|
+
cls._open = _open
|
50
|
+
cls._close = _close
|
51
|
+
cls.open = open
|
52
|
+
cls.close = close
|
53
|
+
return cls
|
54
|
+
|
55
|
+
pass
|
@@ -40,10 +40,12 @@ class EncapeData(Base):
|
|
40
40
|
info: 额外的调用信息,目前只有object会用到里面的id字段,作为单例额外输入
|
41
41
|
"""
|
42
42
|
if typez(data)==dict:
|
43
|
-
pid = xf.g1(data, parent=None)
|
43
|
+
pid = xf.g1(data, parent=None, template=None, temp=None)
|
44
44
|
if pid is not None:
|
45
45
|
data = dict(data)
|
46
|
-
|
46
|
+
for pkey in "parent,temp,template".split(","):
|
47
|
+
if pkey in data:
|
48
|
+
del data[pkey]
|
47
49
|
pids = pid
|
48
50
|
if typez(pids)!=list:
|
49
51
|
pids = [pid]
|
@@ -53,7 +53,9 @@ class Confs(Base):
|
|
53
53
|
return sysdt
|
54
54
|
def build_env_args_xf(self):
|
55
55
|
data = xf.args()
|
56
|
-
|
56
|
+
if xf.is_args(data):
|
57
|
+
data = data.maps
|
58
|
+
env = xf.g(data, env={})
|
57
59
|
self.envs_args = env
|
58
60
|
self.flush_env(self.envs_args)
|
59
61
|
def build_env_args_buildz(self):
|
@@ -83,6 +85,7 @@ class Confs(Base):
|
|
83
85
|
return None
|
84
86
|
def get_env_maps(self, id, maps):
|
85
87
|
ids = self.env_ids(id)
|
88
|
+
#print(f"[TZBZ] get_env_maps({id})[{ids}] in {maps}")
|
86
89
|
envs = maps
|
87
90
|
for id in ids:
|
88
91
|
if type(envs)!=dict:
|
@@ -95,10 +98,23 @@ class Confs(Base):
|
|
95
98
|
return envs
|
96
99
|
def get_env_conf(self, id, sid=None):
|
97
100
|
return self.get_env_maps(id, self.envs)
|
101
|
+
def enable_args(self, enable = True):
|
102
|
+
key = "args"
|
103
|
+
if enable:
|
104
|
+
if key in self.env_orders:
|
105
|
+
return
|
106
|
+
self.env_orders = [key]+self.env_orders
|
107
|
+
else:
|
108
|
+
if key not in self.env_orders:
|
109
|
+
return
|
110
|
+
self.env_orders.remove(key)
|
111
|
+
def set_args_type(self, args_type):
|
112
|
+
self.args_type = args_type
|
98
113
|
def get_env(self, id, sid=None):
|
99
114
|
for key in self.env_orders:
|
100
115
|
fc = self.env_fcs[key]
|
101
116
|
obj = fc(id, sid)
|
117
|
+
#print(f"[TZBZ] get_env.{key}.{fc}({id}, {sid}): {obj}")
|
102
118
|
if obj is not None:
|
103
119
|
return obj
|
104
120
|
return None
|
@@ -120,6 +136,9 @@ class Confs(Base):
|
|
120
136
|
break
|
121
137
|
envs = envs[id]
|
122
138
|
return envs
|
139
|
+
def set_envs(self, maps):
|
140
|
+
self.flush_env(maps)
|
141
|
+
self.update_env(maps)
|
123
142
|
def set_env(self, id, val):
|
124
143
|
obj = {id:val}
|
125
144
|
self.flush_env(obj)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
#
|
2
|
+
from ..ioc.base import Base, EncapeData,IOCError
|
3
|
+
from .base import FormatData,FormatDeal
|
4
|
+
from buildz import xf, pyz
|
5
|
+
import os
|
6
|
+
dp = os.path.dirname(__file__)
|
7
|
+
join = os.path.join
|
8
|
+
class BranchDeal(FormatDeal):
|
9
|
+
"""
|
10
|
+
分支branch:
|
11
|
+
{
|
12
|
+
id: id
|
13
|
+
type: branch
|
14
|
+
judge: item_conf
|
15
|
+
vals: {
|
16
|
+
judge_val: item_conf
|
17
|
+
...
|
18
|
+
}
|
19
|
+
default(optional): item_conf
|
20
|
+
}
|
21
|
+
简写:
|
22
|
+
[[id, branch], judge, {vals}, default]
|
23
|
+
[branch, judge, {vals}, default]
|
24
|
+
[branch, judge, {vals}]
|
25
|
+
例:
|
26
|
+
[branch, [env, env.test], {true:..., false: ...}]
|
27
|
+
"""
|
28
|
+
def init(self, fp_lists=None, fp_defaults=None):
|
29
|
+
super().init("BranchDeal", fp_lists, fp_defaults, join(dp, "conf", "branch_lists.js"), None)
|
30
|
+
def deal(self, edata:EncapeData):
|
31
|
+
data = edata.data
|
32
|
+
data = self.fill(data)
|
33
|
+
judge = xf.get_first(data, 'judge', 'key', 'var')
|
34
|
+
judge = self.get_obj(judge, edata.conf, edata.src, edata.info)
|
35
|
+
vals = xf.get_first(data, 'vals', 'data', 'datas')
|
36
|
+
val = None
|
37
|
+
if judge in vals:
|
38
|
+
val = vals[judge]
|
39
|
+
val = self.get_obj(val, edata.conf, edata.src, edata.info)
|
40
|
+
return val
|
41
|
+
if 'default' not in data:
|
42
|
+
raise IOCError(f"<branch> not any vals match '{judeg}'")
|
43
|
+
default = data['default']
|
44
|
+
val = self.get_obj(default, edata.conf, edata.src, edata.info)
|
45
|
+
return val
|
46
|
+
|
47
|
+
pass
|
@@ -0,0 +1,26 @@
|
|
1
|
+
// [[id, type], key]
|
2
|
+
[
|
3
|
+
{
|
4
|
+
nullable: 0,
|
5
|
+
out: 1,
|
6
|
+
conf: {
|
7
|
+
//sort:-1,
|
8
|
+
data:[
|
9
|
+
{key: type, default: null }
|
10
|
+
{key: id, default: null},
|
11
|
+
]
|
12
|
+
}
|
13
|
+
},
|
14
|
+
{
|
15
|
+
nullable: 0,
|
16
|
+
key: judge
|
17
|
+
},
|
18
|
+
{
|
19
|
+
nullable: 0,
|
20
|
+
key: vals
|
21
|
+
},
|
22
|
+
{
|
23
|
+
nullable: 1,
|
24
|
+
key: default
|
25
|
+
}
|
26
|
+
]
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#coding=utf-8
|
2
|
+
|
3
|
+
from buildz import pyz
|
4
|
+
getch = None
|
5
|
+
if pyz.is_windows:
|
6
|
+
from . import win
|
7
|
+
getch = win.Getch()
|
8
|
+
else:
|
9
|
+
from . import lx
|
10
|
+
getch = lx.Getch()
|
11
|
+
|
12
|
+
pass
|
13
|
+
def open():
|
14
|
+
global getch
|
15
|
+
return getch.open()
|
16
|
+
|
17
|
+
pass
|
18
|
+
|
19
|
+
def close():
|
20
|
+
global getch
|
21
|
+
getch.close()
|
22
|
+
|
23
|
+
pass
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#coding=utf-8
|
2
|
+
from . import base
|
3
|
+
import termios
|
4
|
+
import sys
|
5
|
+
import ctypes
|
6
|
+
import select
|
7
|
+
std = ctypes.cdll.LoadLibrary(None)
|
8
|
+
class Getch(base.Getch):
|
9
|
+
def __init__(self, timeout =0.01, cnt = 3):
|
10
|
+
attr = termios.tcgetattr(sys.stdin.fileno())
|
11
|
+
bak = list(attr)
|
12
|
+
attr[3] = attr[3] & ~(termios.ICANON|termios.ECHO)
|
13
|
+
self.bak = bak
|
14
|
+
self.attr = attr
|
15
|
+
self.sec = timeout
|
16
|
+
self.cnt = cnt
|
17
|
+
def _open(self):
|
18
|
+
termios.tcsetattr(sys.stdin.fileno(), termios.TCSANOW, self.attr)
|
19
|
+
def _close(self):
|
20
|
+
termios.tcsetattr(sys.stdin.fileno(), termios.TCSANOW, self.bak)
|
21
|
+
def call(self):
|
22
|
+
c = std.getchar()
|
23
|
+
if c==27:
|
24
|
+
next = False
|
25
|
+
# 没用
|
26
|
+
for i in range(self.cnt):
|
27
|
+
a,_b,_c = select.select([sys.stdin.fileno()], [], [], self.sec)
|
28
|
+
if len(a)>0:
|
29
|
+
next = True
|
30
|
+
break
|
31
|
+
if next:
|
32
|
+
rst = [c]
|
33
|
+
rst.append(std.getchar())
|
34
|
+
rst.append(std.getchar())
|
35
|
+
return rst
|
36
|
+
return c
|
37
|
+
|
38
|
+
pass
|
@@ -15,8 +15,9 @@ class ListMapDeal(lr.LRDeal):
|
|
15
15
|
"""
|
16
16
|
分隔符,有分隔符后将缓存的数据当作字符串
|
17
17
|
"""
|
18
|
-
def init(self, left, right):
|
18
|
+
def init(self, left, right, as_map = False):
|
19
19
|
super().init(left, right, "listmap")
|
20
|
+
self.as_map = as_map
|
20
21
|
def types(self):
|
21
22
|
return ['list']
|
22
23
|
def build(self, obj):
|
@@ -48,6 +49,11 @@ class ListMapDeal(lr.LRDeal):
|
|
48
49
|
lst.append(obj.val)
|
49
50
|
i+=1
|
50
51
|
if len(mp)==0:
|
52
|
+
if self.as_map:
|
53
|
+
if len(lst)==0:
|
54
|
+
return item.Item(mp, type="map", is_val=1)
|
55
|
+
else:
|
56
|
+
return item.Item(Args(lst, mp), type='args', is_val=1)
|
51
57
|
return item.Item(lst, type="list", is_val=1)
|
52
58
|
elif len(lst)==0:
|
53
59
|
return item.Item(mp, type="map", is_val=1)
|
@@ -96,7 +96,7 @@ def build_args(as_bytes=False):
|
|
96
96
|
# mgs.add(mapz.MapDeal("{", "}"))
|
97
97
|
mgs.add(listmapz.ListMapDeal("(", ")"))
|
98
98
|
mgs.add(listmapz.ListMapDeal("[", "]"))
|
99
|
-
mgs.add(listmapz.ListMapDeal("{", "}"))
|
99
|
+
mgs.add(listmapz.ListMapDeal("{", "}", True))
|
100
100
|
build_val(mgs)
|
101
101
|
#1,0,0,1: 没引号当r"..."
|
102
102
|
#1,0,1,1: 没引导当"..."
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#coding=utf-8
|
2
|
-
from .read import loads
|
2
|
+
#from .read import loads
|
3
|
+
from .readz import loads, loadx
|
3
4
|
import sys
|
4
5
|
def fetch(argv = None):
|
5
6
|
if argv is None:
|
@@ -7,6 +8,7 @@ def fetch(argv = None):
|
|
7
8
|
argv = [str(k) for k in argv]
|
8
9
|
s = " ".join(argv)
|
9
10
|
s = s.strip()
|
11
|
+
return loadx(s, True)
|
10
12
|
lrs = [["",""]]
|
11
13
|
if len(s)==0:
|
12
14
|
return None
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: buildz
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.10
|
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
|
@@ -56,6 +56,7 @@ buildz/ioc/ioc/conf.py
|
|
56
56
|
buildz/ioc/ioc/confs.py
|
57
57
|
buildz/ioc/ioc/single.py
|
58
58
|
buildz/ioc/ioc_deal/base.py
|
59
|
+
buildz/ioc/ioc_deal/branch.py
|
59
60
|
buildz/ioc/ioc_deal/call.py
|
60
61
|
buildz/ioc/ioc_deal/calls.py
|
61
62
|
buildz/ioc/ioc_deal/deal.py
|
@@ -73,6 +74,7 @@ buildz/ioc/ioc_deal/ref.py
|
|
73
74
|
buildz/ioc/ioc_deal/val.py
|
74
75
|
buildz/ioc/ioc_deal/var.py
|
75
76
|
buildz/ioc/ioc_deal/xfile.py
|
77
|
+
buildz/ioc/ioc_deal/conf/branch_lists.js
|
76
78
|
buildz/ioc/ioc_deal/conf/call_defaults.js
|
77
79
|
buildz/ioc/ioc_deal/conf/call_lists.js
|
78
80
|
buildz/ioc/ioc_deal/conf/calls_defaults.js
|
@@ -98,6 +100,12 @@ buildz/ioc/ioc_deal/conf/xfile_defaults.js
|
|
98
100
|
buildz/ioc/ioc_deal/conf/xfile_lists.js
|
99
101
|
buildz/tz/__init__.py
|
100
102
|
buildz/tz/myers_diff.py
|
103
|
+
buildz/tz/tio/__init__.py
|
104
|
+
buildz/tz/tio/base.py
|
105
|
+
buildz/tz/tio/getch.py
|
106
|
+
buildz/tz/tio/lx.py
|
107
|
+
buildz/tz/tio/test.py
|
108
|
+
buildz/tz/tio/win.py
|
101
109
|
buildz/xf/__init__.py
|
102
110
|
buildz/xf/__main__.py
|
103
111
|
buildz/xf/code.py
|
buildz-0.6.8/buildz/base.py
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
#coding=utf-8
|
2
|
-
|
3
|
-
class Base:
|
4
|
-
def str(self):
|
5
|
-
return str(self.__class__)
|
6
|
-
def __str__(self):
|
7
|
-
return self.str()
|
8
|
-
def __repr__(self):
|
9
|
-
return self.__str__()
|
10
|
-
def __init__(self, *args, **maps):
|
11
|
-
self.init(*args, **maps)
|
12
|
-
def __call__(self, *args, **maps):
|
13
|
-
return self.call(*args, **maps)
|
14
|
-
def init(self, *args, **maps):
|
15
|
-
pass
|
16
|
-
def call(self, *args, **maps):
|
17
|
-
return self.deal(*args, **maps)
|
18
|
-
def deal(self, *args, **maps):
|
19
|
-
return None
|
20
|
-
|
21
|
-
pass
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|