buildz 0.6.2__tar.gz → 0.6.3__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.2/buildz.egg-info → buildz-0.6.3}/PKG-INFO +1 -1
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc/base.py +1 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc/conf.py +24 -7
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc/confs.py +37 -13
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/base.py +15 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/call.py +18 -5
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/calls.py +2 -1
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/call_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/calls_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/deal_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/env_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/ioc_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/iocf_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/join_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/list_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/map_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/mcall_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/obj_lists.js +11 -9
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/ovar_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/ref_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/var_lists.js +1 -1
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/xfile_lists.js +2 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/env.py +3 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/map.py +1 -1
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/mcall.py +20 -7
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/obj.py +15 -5
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/ovar.py +4 -3
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/ref.py +5 -2
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/val.py +1 -1
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/var.py +1 -1
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/readz.py +1 -1
- {buildz-0.6.2 → buildz-0.6.3/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.6.2 → buildz-0.6.3}/setup.py +1 -1
- {buildz-0.6.2 → buildz-0.6.3}/LICENSE +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/MANIFEST.in +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/README.md +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/__init__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/__main__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/argx.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/cmd.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/__main__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/dv/basez.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/dv/clickhousez.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/dv/lib/readme +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/dv/mysqlz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/dv/oraclez.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/dv/structz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/install.txt +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/run.conf +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/db/runz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/myers/help.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/res/test.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/search/deal.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/search/help.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/test.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/demo/xf/help.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/fz/__init__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/fz/dirz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/fz/fhs.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/fz/fio.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/fz/lsf.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/__init__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/base.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/init.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc/single.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/iocf.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/pyz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/tz/__init__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/__init__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/__main__.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/code.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/code_modify.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/copy_old.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/file.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/base.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/item.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/lrval.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/strz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/strz_new.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/deal/strz_old.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/mg.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/mapz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/read.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/stack.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/write.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/base.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz/xf/xargs.py +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz.egg-info/SOURCES.txt +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.6.2 → buildz-0.6.3}/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.3
|
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
|
@@ -8,7 +8,7 @@ class Conf(Base):
|
|
8
8
|
"""
|
9
9
|
配置文件格式:
|
10
10
|
{
|
11
|
-
|
11
|
+
_id: 配置文件id,默认null
|
12
12
|
//在配置文件配置的环境变量
|
13
13
|
envs: {
|
14
14
|
id: val
|
@@ -23,7 +23,7 @@ class Conf(Base):
|
|
23
23
|
maps: {} // 字典入参
|
24
24
|
}
|
25
25
|
}
|
26
|
-
namespace: 命名空间,默认null
|
26
|
+
id|namespace: 命名空间,默认null
|
27
27
|
//本地数据配置项
|
28
28
|
locals: [
|
29
29
|
item_conf,
|
@@ -57,13 +57,17 @@ class Conf(Base):
|
|
57
57
|
return id
|
58
58
|
def map(self, arr, fc_key):
|
59
59
|
return {fc_key(obj): obj for obj in arr}
|
60
|
+
def __str__(self):
|
61
|
+
return f"conf<id={self.namespace}, _id={self.id}>"
|
62
|
+
def __repr__(self):
|
63
|
+
return self.__str__()
|
60
64
|
def init(self, conf, confs):
|
61
65
|
"""
|
62
66
|
{
|
63
67
|
deals:[{build: fc_path,args: [],maps: {}}]
|
64
68
|
envs: {id: val}
|
65
|
-
|
66
|
-
namespace: default null
|
69
|
+
_id: default null
|
70
|
+
id|namespace: default null
|
67
71
|
datas: [{id:val, type: val, ...}]
|
68
72
|
locals: [like datas]
|
69
73
|
default_type: default null
|
@@ -71,11 +75,11 @@ class Conf(Base):
|
|
71
75
|
"""
|
72
76
|
if type(conf)!=dict:
|
73
77
|
conf = {'datas':conf}
|
74
|
-
id = xf.g(conf,
|
78
|
+
id = xf.g(conf, _id=None)
|
75
79
|
if id is None:
|
76
80
|
id = confs.conf_id()
|
77
81
|
self.id = id
|
78
|
-
self.namespace = xf.
|
82
|
+
self.namespace = xf.g1(conf, namespace=None, id=None)
|
79
83
|
self.conf = conf
|
80
84
|
self.confs = confs
|
81
85
|
self.locals = self.map(xf.g(conf, locals=[]), self.confs.get_data_id)
|
@@ -164,13 +168,26 @@ class Conf(Base):
|
|
164
168
|
return edata
|
165
169
|
if not search_confs:
|
166
170
|
return None
|
167
|
-
|
171
|
+
gid = self.confs.gid(self.namespace, id)
|
172
|
+
obj = self.confs.get_data(gid, self.id, src=src, info = info)
|
173
|
+
if obj is not None:
|
174
|
+
return obj
|
175
|
+
obj = self.confs.get_data(id, self.id, src=src, info = info)
|
176
|
+
return obj
|
168
177
|
def get(self, *args, **maps):
|
169
178
|
return self.get_obj(*args, **maps)
|
170
179
|
def default_type(self):
|
171
180
|
if self._default_type is None:
|
172
181
|
return self.confs.default_type
|
173
182
|
return self._default_type
|
183
|
+
def get_var(self, key, i = -1):
|
184
|
+
return self.confs.get_var(key, i)
|
185
|
+
def push_var(self, key, val):
|
186
|
+
return self.confs.push_var(key,val)
|
187
|
+
def has_var(self, key):
|
188
|
+
return self.confs.has_var(key)
|
189
|
+
def pop_var(self, key):
|
190
|
+
self.confs.pop_var(key)
|
174
191
|
def get_obj(self, id, src = None, info=None, remove = False):
|
175
192
|
"""
|
176
193
|
根据data id获取data对象,处理逻辑:根据data id查配置,根据配置的type查deal,返回deal处理过的配置
|
@@ -58,11 +58,12 @@ class Confs(Base):
|
|
58
58
|
self.flush_env(self.envs_args)
|
59
59
|
def build_env_args_buildz(self):
|
60
60
|
args, maps = argx.fetch()
|
61
|
-
|
62
|
-
|
63
|
-
env
|
64
|
-
env
|
65
|
-
env =
|
61
|
+
env = maps
|
62
|
+
# e = xf.get(maps, e = [])
|
63
|
+
# env = xf.get(maps, env=[])
|
64
|
+
# env += e
|
65
|
+
# env = [k.split("=") for k in env]
|
66
|
+
# env = {k[0]:"=".join(k[1:]) for k in env}
|
66
67
|
self.envs_args = env
|
67
68
|
self.flush_env(self.envs_args)
|
68
69
|
def build_env_args(self):
|
@@ -184,10 +185,10 @@ class Confs(Base):
|
|
184
185
|
data_key_type: type
|
185
186
|
// 数据配置参数是数组的时候,数据id的位置
|
186
187
|
// default=[0,0]
|
187
|
-
data_index_id: [0,
|
188
|
+
data_index_id: [0,1]
|
188
189
|
// 数据配置参数是数组的时候,数据type的位置
|
189
190
|
// default=[0,1]
|
190
|
-
data_index_type: [0,
|
191
|
+
data_index_type: [0,0]
|
191
192
|
// 处理deal的type字段名
|
192
193
|
// default = 'type'
|
193
194
|
deal_key_type: type
|
@@ -209,8 +210,8 @@ class Confs(Base):
|
|
209
210
|
self.global_deal = xf.g(conf, global_deal = True)
|
210
211
|
self.data_key_id = xf.g(conf, data_key_id = 'id')
|
211
212
|
self.data_key_type = xf.g(conf, data_key_type = 'type')
|
212
|
-
self.data_index_id = xf.g(conf, data_index_id = [0,
|
213
|
-
self.data_index_type = xf.g(conf, data_index_type = [0,
|
213
|
+
self.data_index_id = xf.g(conf, data_index_id = [0,1])
|
214
|
+
self.data_index_type = xf.g(conf, data_index_type = [0,0])
|
214
215
|
self.deal_key_type = xf.g(conf, deal_key_type = 'type')
|
215
216
|
self.deal_index_type = xf.g(conf, deal_index_type = 0)
|
216
217
|
self.env_orders = xf.g(conf, env_orders = ['sys', 'local', 'conf'])
|
@@ -229,8 +230,25 @@ class Confs(Base):
|
|
229
230
|
self.envs = {}
|
230
231
|
self.envs_args = None
|
231
232
|
self.mark_init = False
|
233
|
+
self.vars = {}
|
232
234
|
if 'args' in self.env_orders:
|
233
235
|
self.build_env_args()
|
236
|
+
def get_var(self, key, i=-1):
|
237
|
+
if not self.has_var(key):
|
238
|
+
return None, False
|
239
|
+
return self.vars[key][i], True
|
240
|
+
def push_var(self, key, val):
|
241
|
+
if key not in self.vars:
|
242
|
+
self.vars[key] = []
|
243
|
+
self.vars[key].append(val)
|
244
|
+
def has_var(self, key):
|
245
|
+
if key not in self.vars:
|
246
|
+
return False
|
247
|
+
return len(self.vars[key])>0
|
248
|
+
def pop_var(self, key):
|
249
|
+
if not self.has_var(key):
|
250
|
+
return
|
251
|
+
self.vars[key].pop(-1)
|
234
252
|
def do_init(self):
|
235
253
|
if self.mark_init:
|
236
254
|
return
|
@@ -267,6 +285,10 @@ class Confs(Base):
|
|
267
285
|
id = self._conf_id
|
268
286
|
self._conf_id+=1
|
269
287
|
return id
|
288
|
+
def gid(self, cid, id):
|
289
|
+
cids = self.ids(cid)
|
290
|
+
ids = self.ids(id)
|
291
|
+
return self.id(cids+ids)
|
270
292
|
def ids(self, id):
|
271
293
|
if id is None:
|
272
294
|
return []
|
@@ -308,7 +330,7 @@ class Confs(Base):
|
|
308
330
|
if type(conf) in [bytes, str]:
|
309
331
|
conf = self.loads(conf)
|
310
332
|
obj = Conf(conf, self)
|
311
|
-
id = xf.
|
333
|
+
id = xf.g1(conf, id=None, namespace=None)
|
312
334
|
ids = self.ids(id)
|
313
335
|
node = self.node
|
314
336
|
for id in ids:
|
@@ -383,9 +405,11 @@ class Confs(Base):
|
|
383
405
|
for confs,i in arr:
|
384
406
|
id = self.id(ids[i:])
|
385
407
|
for conf in confs:
|
386
|
-
|
387
|
-
|
388
|
-
|
408
|
+
if sid == conf.id:
|
409
|
+
continue
|
410
|
+
_conf = conf.get_data(id, sid==conf.id, False, src = src, info = info)
|
411
|
+
if _conf is not None:
|
412
|
+
return _conf
|
389
413
|
return None
|
390
414
|
|
391
415
|
pass
|
@@ -118,6 +118,12 @@ class FormatData(Base):
|
|
118
118
|
pass
|
119
119
|
|
120
120
|
class BaseDeal(Base):
|
121
|
+
def push_vars(self, conf, vars):
|
122
|
+
if vars is not None:
|
123
|
+
[conf.push_var(key,val) for key,val in vars.items()]
|
124
|
+
def pop_vars(self, conf, vars):
|
125
|
+
if vars is not None:
|
126
|
+
[conf.pop_var(key) for key in vars]
|
121
127
|
"""
|
122
128
|
基础处理类,加了一些方便处理的方法,自己写的处理可以不用继承这个
|
123
129
|
自己实现的处理类,要实现两个方法:__call__(self, edata:EncapeData)和remove(self, edata:EncapeData)
|
@@ -148,6 +154,15 @@ class BaseDeal(Base):
|
|
148
154
|
return None
|
149
155
|
return deal(edata)
|
150
156
|
def deal(self, edata:EncapeData):
|
157
|
+
"""
|
158
|
+
"""
|
159
|
+
try:
|
160
|
+
return self._deal(edata)
|
161
|
+
except:
|
162
|
+
print(f"except in {self.__class__}.deal: {edata.data}")
|
163
|
+
raise
|
164
|
+
return None
|
165
|
+
def _deal(self, edata:EncapeData):
|
151
166
|
"""
|
152
167
|
"""
|
153
168
|
return None
|
@@ -11,7 +11,8 @@ class CallDeal(FormatDeal):
|
|
11
11
|
{
|
12
12
|
id:id
|
13
13
|
type:call
|
14
|
-
method: import路径+"."+方法名
|
14
|
+
call|method: import路径+"."+方法名
|
15
|
+
vars: [...]
|
15
16
|
args: [item_conf, ...]
|
16
17
|
maps: {
|
17
18
|
key1:item_conf,
|
@@ -36,14 +37,23 @@ class CallDeal(FormatDeal):
|
|
36
37
|
conf = edata.conf
|
37
38
|
data = self.format(data)
|
38
39
|
src = edata.src
|
39
|
-
method = xf.
|
40
|
-
method =
|
40
|
+
method = xf.g1(data, call=0, method=0)
|
41
|
+
#method = xf.g(data, method=0)
|
42
|
+
method = self.get_obj(method, conf, src)
|
43
|
+
if type(method) in [str, bytes]:
|
44
|
+
method = pyz.load(method)
|
41
45
|
info = edata.info
|
42
46
|
iargs, imaps = None, None
|
47
|
+
ivars = None
|
43
48
|
if type(info) == dict:
|
44
|
-
iargs, imaps = xf.g(info, args = None, maps = None)
|
49
|
+
iargs, imaps,ivars = xf.g(info, args = None, maps = None, vars=None)
|
45
50
|
args = xf.g(data, args=[])
|
46
51
|
maps = xf.g(data, maps ={})
|
52
|
+
vars = xf.g(data, vars={})
|
53
|
+
vars = {k:self.get_obj(v, conf, src) for k,v in vars.items()}
|
54
|
+
if ivars is not None:
|
55
|
+
xf.fill(ivars, vars, 1)
|
56
|
+
ivars = vars
|
47
57
|
if iargs is not None:
|
48
58
|
args = iargs
|
49
59
|
if imaps is not None:
|
@@ -52,6 +62,9 @@ class CallDeal(FormatDeal):
|
|
52
62
|
# maps = {k:self.get_obj(maps[k], conf, src, info = edata.info) for k in maps}
|
53
63
|
args = [self.get_obj(v, conf, src) for v in args]
|
54
64
|
maps = {k:self.get_obj(maps[k], conf, src) for k in maps}
|
55
|
-
|
65
|
+
self.push_vars(conf, ivars)
|
66
|
+
rst = method(*args, **maps)
|
67
|
+
self.pop_vars(conf, ivars)
|
68
|
+
return rst
|
56
69
|
|
57
70
|
pass
|
@@ -35,10 +35,11 @@ class CallsDeal(FormatDeal):
|
|
35
35
|
conf = edata.conf
|
36
36
|
data = self.format(data)
|
37
37
|
src = edata.src
|
38
|
+
info = edata.info
|
38
39
|
calls = xf.g1(data, calls=[], data = [])
|
39
40
|
rst = None
|
40
41
|
for call in calls:
|
41
|
-
rst = self.get_obj(call, conf, src)
|
42
|
+
rst = self.get_obj(call, conf, src, info=info)
|
42
43
|
return rst
|
43
44
|
|
44
45
|
pass
|
@@ -4,8 +4,8 @@
|
|
4
4
|
nullable: 0,
|
5
5
|
out: 1,
|
6
6
|
conf: [
|
7
|
-
{key: id, default: null},
|
8
7
|
{key: type, default: null},
|
8
|
+
{key: id, default: null},
|
9
9
|
{key: single, default: 1}
|
10
10
|
]
|
11
11
|
},
|
@@ -13,14 +13,16 @@
|
|
13
13
|
nullable: 0,
|
14
14
|
key: source
|
15
15
|
},
|
16
|
-
{
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
}
|
16
|
+
{key: args, default: []},
|
17
|
+
{key: maps, default: {}},
|
18
|
+
// {
|
19
|
+
// key: construct,
|
20
|
+
// default: {args: [], maps: {}},
|
21
|
+
// conf: [
|
22
|
+
// {key: args, default: []},
|
23
|
+
// {key: maps, default: {}}
|
24
|
+
// ]
|
25
|
+
// },
|
24
26
|
{
|
25
27
|
key: sets,
|
26
28
|
default: []
|
@@ -11,11 +11,12 @@ class EnvDeal(FormatDeal):
|
|
11
11
|
{
|
12
12
|
id: id
|
13
13
|
type: env
|
14
|
-
key: 环境变量key
|
14
|
+
env|key: 环境变量key
|
15
15
|
default: item_conf //可选
|
16
16
|
}
|
17
17
|
简写:
|
18
|
-
[[id, env], key]
|
18
|
+
[[id, env], key, default]
|
19
|
+
[env, key, default]
|
19
20
|
[env, key]
|
20
21
|
例:
|
21
22
|
[env, path] //读取环境变量path
|
@@ -12,7 +12,8 @@ class MethodCallDeal(FormatDeal):
|
|
12
12
|
id: id
|
13
13
|
type: mcall
|
14
14
|
source: 对象id
|
15
|
-
method: 调用方法
|
15
|
+
mcall|method: 调用方法
|
16
|
+
vars: [...]
|
16
17
|
args: [...]
|
17
18
|
maps: {key:...}
|
18
19
|
info: item_conf,额外引用信息,默认null
|
@@ -30,14 +31,15 @@ class MethodCallDeal(FormatDeal):
|
|
30
31
|
super().init("MethodCallDeal", fp_lists, fp_defaults,
|
31
32
|
join(dp, "conf", "mcall_lists.js"),
|
32
33
|
join(dp, "conf", "mcall_defaults.js"))
|
33
|
-
def
|
34
|
+
def _deal(self, edata:EncapeData):
|
34
35
|
sid = edata.sid
|
35
36
|
data = edata.data
|
36
37
|
conf = edata.conf
|
37
38
|
data = self.format(data)
|
38
39
|
src = edata.src
|
39
|
-
source = xf.
|
40
|
-
method = xf.
|
40
|
+
source = xf.g1(data, source=None, src=None)
|
41
|
+
method = xf.g1(data, mcall=0, method=0)
|
42
|
+
#method = xf.g(data, method=0)
|
41
43
|
info = xf.g(data, info=None)
|
42
44
|
if info is not None:
|
43
45
|
info = self.get_obj(info, src = edata.src, info = edata.info)
|
@@ -54,12 +56,20 @@ class MethodCallDeal(FormatDeal):
|
|
54
56
|
raise Exception(f"not object for method {method}")
|
55
57
|
if src is None:
|
56
58
|
src = source
|
57
|
-
method =
|
59
|
+
method = self.get_obj(method, conf, src)
|
60
|
+
if type(method) in [str, bytes]:
|
61
|
+
method = getattr(source, method)
|
58
62
|
iargs, imaps = None, None
|
63
|
+
ivars = None
|
59
64
|
if type(info) == dict:
|
60
|
-
iargs, imaps = xf.g(info, m_args = None, m_maps = None)
|
65
|
+
iargs, imaps = xf.g(info, m_args = None, m_maps = None, vars=None)
|
61
66
|
args = xf.g(data, args=[])
|
62
67
|
maps = xf.g(data, maps ={})
|
68
|
+
vars = xf.g(data, vars={})
|
69
|
+
vars = {k:self.get_obj(v, conf, src) for k,v in vars.items()}
|
70
|
+
if ivars is not None:
|
71
|
+
xf.fill(ivars, vars, 1)
|
72
|
+
ivars = vars
|
63
73
|
if iargs is not None:
|
64
74
|
args = iargs
|
65
75
|
if imaps is not None:
|
@@ -68,6 +78,9 @@ class MethodCallDeal(FormatDeal):
|
|
68
78
|
# maps = {k:self.get_obj(maps[k], conf, src, edata.info) for k in maps}
|
69
79
|
args = [self.get_obj(v, conf, src) for v in args]
|
70
80
|
maps = {k:self.get_obj(maps[k], conf, src) for k in maps}
|
71
|
-
|
81
|
+
self.push_vars(conf, ivars)
|
82
|
+
rst = method(*args, **maps)
|
83
|
+
self.pop_vars(conf, ivars)
|
84
|
+
return rst
|
72
85
|
|
73
86
|
pass
|