buildz 0.5.4__tar.gz → 0.5.6__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.5.4/buildz.egg-info → buildz-0.5.6}/PKG-INFO +1 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz/fz/__init__.py +1 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz/fz/fio.py +12 -2
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/deals.js +5 -0
- buildz-0.5.4/buildz/ioc/ioc_deal/conf/ref_lists.js → buildz-0.5.6/buildz/ioc/ioc_deal/conf/iocf_lists.js +1 -5
- buildz-0.5.6/buildz/ioc/ioc_deal/conf/ref_lists.js +31 -0
- buildz-0.5.6/buildz/ioc/ioc_deal/iocf.py +59 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/map.py +1 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/obj.py +6 -3
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/ref.py +4 -2
- {buildz-0.5.4 → buildz-0.5.6}/buildz/pyz.py +10 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/file.py +3 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/lrval.py +3 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/strz.py +1 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/mg.py +1 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/mapz.py +20 -3
- {buildz-0.5.4 → buildz-0.5.6/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.5.4 → buildz-0.5.6}/buildz.egg-info/SOURCES.txt +2 -0
- {buildz-0.5.4 → buildz-0.5.6}/setup.py +1 -1
- {buildz-0.5.4 → buildz-0.5.6}/LICENSE +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/MANIFEST.in +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/README.md +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/__init__.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/__main__.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/argx.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/ioc/deal.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/ioc/help.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/myers/deal.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/myers/help.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/conf/ioc.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/conf/main.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/conf/myers.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/conf/search.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/conf/xf.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/help/default.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/help/ioc.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/help/myers.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/help/search.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/help/xf.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/res/test.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/search/deal.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/search/help.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/test.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/xf/deal.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/demo/xf/help.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/fz/dirz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/fz/lsf.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/__init__.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/base.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/init.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc/base.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc/confs.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/calls.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/deal.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/ioc.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/join.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/list.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/ioc/ioc_deal/xfile.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/tz/__init__.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/tz/myers_diff.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/__init__.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/__main__.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/base.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/item.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/base.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/buffer.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/listz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/lr.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/mapz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/nextz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/reval.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/setz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/spc.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/deal/spt.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/exp.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/item.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/pos.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/test.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/loaderz/test1.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/read.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/readz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/stack.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/write.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/base.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz/xf/xargs.py +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.5.4 → buildz-0.5.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: buildz
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.6
|
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)
|
5
5
|
Home-page: https://github.com/buildCodeZ/buildz
|
6
6
|
Author: Zzz
|
@@ -2,6 +2,6 @@
|
|
2
2
|
#author:
|
3
3
|
from .dirz import dirs, FileDeal
|
4
4
|
from .lsf import lists, search
|
5
|
-
from .fio import fread, freads, fwrite, fwrites, read,reads,write,writes
|
5
|
+
from .fio import fread, freads, fwrite, fwrites, read,reads,write,writes, makefdir
|
6
6
|
|
7
7
|
__author__ = "Zzz, emails: 1174534295@qq.com, 1309458652@qq.com"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#coding=utf-8
|
2
|
-
|
2
|
+
import os
|
3
3
|
"""
|
4
4
|
读写文件再简化
|
5
5
|
"""
|
@@ -32,4 +32,14 @@ def fwrites(cts, fp, mode = 'wb'):
|
|
32
32
|
f.write(ct)
|
33
33
|
|
34
34
|
pass
|
35
|
-
writes = fwrites
|
35
|
+
writes = fwrites
|
36
|
+
|
37
|
+
def makefdir(fp):
|
38
|
+
fp = os.path.abspath(fp)
|
39
|
+
dp = os.path.dirname(fp)
|
40
|
+
if os.path.isdir(dp):
|
41
|
+
return
|
42
|
+
os.makedirs(dp)
|
43
|
+
|
44
|
+
pass
|
45
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// [[id, type], key]
|
2
|
+
// [type, key]
|
3
|
+
{
|
4
|
+
sort: 1
|
5
|
+
data: [
|
6
|
+
{
|
7
|
+
nullable: 0,
|
8
|
+
out: 1,
|
9
|
+
conf: {
|
10
|
+
sort: -1,
|
11
|
+
data:[
|
12
|
+
{key: id, default: null},
|
13
|
+
{key: type, default: null}
|
14
|
+
]
|
15
|
+
}
|
16
|
+
},
|
17
|
+
{
|
18
|
+
nullable: 0,
|
19
|
+
key: key
|
20
|
+
},
|
21
|
+
{
|
22
|
+
nullable: 1,
|
23
|
+
key: info
|
24
|
+
conf: {
|
25
|
+
data: [
|
26
|
+
{key: lid, default: null}
|
27
|
+
]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
]
|
31
|
+
}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
#coding=utf-8
|
2
|
+
from ..ioc.base import Base, EncapeData
|
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 IOCFObjectDeal(FormatDeal):
|
9
|
+
"""
|
10
|
+
iocf字段ioc:
|
11
|
+
{
|
12
|
+
id:id
|
13
|
+
type: iocf
|
14
|
+
|
15
|
+
filepath: item_conf
|
16
|
+
// or
|
17
|
+
folder: item_conf
|
18
|
+
pattern: item_conf
|
19
|
+
}
|
20
|
+
简写:
|
21
|
+
[[id, ioc], filepath]
|
22
|
+
例:
|
23
|
+
[iocf, filepath] //
|
24
|
+
"""
|
25
|
+
def init(self, fp_lists=None, fp_defaults=None):
|
26
|
+
self.fps = set()
|
27
|
+
self.ids = set()
|
28
|
+
super().init("IOCFObjectDeal", fp_lists, fp_defaults, join(dp, "conf", "iocf_lists.js"), None)
|
29
|
+
def deal(self, edata:EncapeData):
|
30
|
+
data = edata.data
|
31
|
+
id = xf.g(data, id = None)
|
32
|
+
data = self.fill(data)
|
33
|
+
if id is not None:
|
34
|
+
if id in self.ids:
|
35
|
+
return None
|
36
|
+
else:
|
37
|
+
self.ids.add(id)
|
38
|
+
fp = xf.g(data, filepath = None)
|
39
|
+
fdir = xf.g(data, folder = None)
|
40
|
+
pt = xf.g(data, pattern = None)
|
41
|
+
if fp is None:
|
42
|
+
if fdir is None:
|
43
|
+
raise Exception("filepath can't be null")
|
44
|
+
else:
|
45
|
+
fdir = self.get_obj(fdir, edata.conf)
|
46
|
+
if pt is not None:
|
47
|
+
pt = self.get_obj(pt, edata.conf)
|
48
|
+
fps = fz.search(fdir, pt)
|
49
|
+
else:
|
50
|
+
fp = self.get_obj(fp, edata.conf)
|
51
|
+
fps = [fp]
|
52
|
+
fps = [k for k in fps if k not in self.fps]
|
53
|
+
if len(fps)==0:
|
54
|
+
return None
|
55
|
+
edata.conf.confs.add_fps(fps)
|
56
|
+
self.fps.update(fp)
|
57
|
+
return None
|
58
|
+
|
59
|
+
pass
|
@@ -29,7 +29,7 @@ class MapDeal(FormatDeal):
|
|
29
29
|
conf = edata.conf
|
30
30
|
data = self.fill(data)
|
31
31
|
maps = xf.g(data, data={})
|
32
|
-
rst = {k:self.get_obj(
|
32
|
+
rst = {k:self.get_obj(maps[k], conf, edata.src, edata.info) for k in maps}
|
33
33
|
return rst
|
34
34
|
|
35
35
|
pass
|
@@ -102,16 +102,18 @@ class ObjectDeal(FormatDeal):
|
|
102
102
|
single = 1
|
103
103
|
ids = None
|
104
104
|
if single or cid is not None:
|
105
|
-
if
|
106
|
-
ids = [sid, id]
|
105
|
+
if cid is not None:
|
106
|
+
ids = [sid, 'local_id', id, cid]
|
107
107
|
else:
|
108
|
-
ids = [sid,
|
108
|
+
ids = [sid, 'single', id]
|
109
109
|
if ids is not None:
|
110
110
|
obj = xf.gets(self.singles, ids)
|
111
111
|
if obj is not None:
|
112
112
|
#raise IOCError(f"null for {ids}")
|
113
113
|
return obj
|
114
114
|
source = xf.g(data, source=0)
|
115
|
+
if source == 0:
|
116
|
+
raise Exception(f"define object without 'source' key, {data}")
|
115
117
|
fc = xf.get(self.sources, source, None)
|
116
118
|
if fc is None:
|
117
119
|
fc = pyz.load(source)
|
@@ -131,6 +133,7 @@ class ObjectDeal(FormatDeal):
|
|
131
133
|
xf.sets(self.singles, ids, obj)
|
132
134
|
prev_call = xf.g(data, prev_call=None)
|
133
135
|
if prev_call is not None:
|
136
|
+
# TODO: 这边info透传好像会有问题
|
134
137
|
self.get_obj(prev_call, conf, obj, edata.info)
|
135
138
|
sets = xf.g(data, sets=[])
|
136
139
|
for kv in sets:
|
@@ -28,8 +28,10 @@ class RefDeal(FormatDeal):
|
|
28
28
|
data = self.fill(data)
|
29
29
|
key = data['key']
|
30
30
|
info = xf.g(data, info=None)
|
31
|
-
if info is not None:
|
32
|
-
info = self.get_obj(info, src = edata.src)
|
31
|
+
if info is not None and type(info)==dict:
|
32
|
+
#info = {k:self.get_obj(info, edata.conf, src = edata.src) for k in info}
|
33
|
+
info = {'type':'map', 'data':info}
|
34
|
+
info = self.get_obj(info, edata.conf, src = edata.src)
|
33
35
|
return edata.conf.get_obj(key, info = info, src = edata.src)
|
34
36
|
|
35
37
|
pass
|
@@ -1,6 +1,16 @@
|
|
1
1
|
|
2
2
|
import sys
|
3
3
|
import os
|
4
|
+
def test_current(fp, up = 1):
|
5
|
+
"""
|
6
|
+
将当前目录的上{up}层目录加入sys.path,这样可以在同层写测试代码,但是import还是要当在上{up}层做import
|
7
|
+
"""
|
8
|
+
dp = os.path.dirname(os.path.abspath(fp))
|
9
|
+
for i in range(up):
|
10
|
+
dp = os.path.dirname(dp)
|
11
|
+
sys.path.insert(0, dp)
|
12
|
+
|
13
|
+
pass
|
4
14
|
def load(md, fc = None):
|
5
15
|
"""
|
6
16
|
import object(whether module or others) from md(or md.fc)
|
@@ -32,9 +32,11 @@ class LRValDeal(lr.LRDeal):
|
|
32
32
|
rst.append(_item.val)
|
33
33
|
try:
|
34
34
|
val = self.fc(rst[0], rst[1])
|
35
|
-
except
|
35
|
+
except Exceptin as exp1:
|
36
36
|
print("exp:", exp1)
|
37
37
|
raise Exception(f"error in lrval fc: {self.fc}({rst}): {exp1} ")
|
38
38
|
return item.Item(val, type='val', is_val = 1)
|
39
|
+
def build_arr(self, obj):
|
40
|
+
return self.build(obj)
|
39
41
|
|
40
42
|
pass
|
@@ -1,6 +1,8 @@
|
|
1
1
|
|
2
|
-
def get(obj, key, default=None):
|
2
|
+
def get(obj, key, default=None, set = False):
|
3
3
|
if key not in obj:
|
4
|
+
if set:
|
5
|
+
obj[key] = default
|
4
6
|
return default
|
5
7
|
return obj[key]
|
6
8
|
|
@@ -48,6 +50,20 @@ def g(obj, **maps):
|
|
48
50
|
rst = rst[0]
|
49
51
|
return rst
|
50
52
|
|
53
|
+
pass
|
54
|
+
def gs(obj, **maps):
|
55
|
+
rst = []
|
56
|
+
for k in maps:
|
57
|
+
v = maps[k]
|
58
|
+
if k in obj:
|
59
|
+
v = obj[k]
|
60
|
+
else:
|
61
|
+
obj[k] = v
|
62
|
+
rst.append(v)
|
63
|
+
if len(rst)==1:
|
64
|
+
rst = rst[0]
|
65
|
+
return rst
|
66
|
+
|
51
67
|
pass
|
52
68
|
def s(obj, **maps):
|
53
69
|
for k in maps:
|
@@ -110,7 +126,7 @@ pass
|
|
110
126
|
def deep_update(target, src, replace=1):
|
111
127
|
"""
|
112
128
|
dict深层更新,src[key]是dict就深入更新,否则:
|
113
|
-
src有而
|
129
|
+
src有而target没有就替换,否则:
|
114
130
|
replace=1就替换
|
115
131
|
"""
|
116
132
|
for k in src:
|
@@ -125,4 +141,5 @@ def deep_update(target, src, replace=1):
|
|
125
141
|
if replace:
|
126
142
|
target[k] = val
|
127
143
|
|
128
|
-
pass
|
144
|
+
pass
|
145
|
+
update = deep_update
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: buildz
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.6
|
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)
|
5
5
|
Home-page: https://github.com/buildCodeZ/buildz
|
6
6
|
Author: Zzz
|
@@ -47,6 +47,7 @@ buildz/ioc/ioc_deal/deal.py
|
|
47
47
|
buildz/ioc/ioc_deal/demo.py
|
48
48
|
buildz/ioc/ioc_deal/env.py
|
49
49
|
buildz/ioc/ioc_deal/ioc.py
|
50
|
+
buildz/ioc/ioc_deal/iocf.py
|
50
51
|
buildz/ioc/ioc_deal/join.py
|
51
52
|
buildz/ioc/ioc_deal/list.py
|
52
53
|
buildz/ioc/ioc_deal/map.py
|
@@ -65,6 +66,7 @@ buildz/ioc/ioc_deal/conf/deal_lists.js
|
|
65
66
|
buildz/ioc/ioc_deal/conf/deals.js
|
66
67
|
buildz/ioc/ioc_deal/conf/env_lists.js
|
67
68
|
buildz/ioc/ioc_deal/conf/ioc_lists.js
|
69
|
+
buildz/ioc/ioc_deal/conf/iocf_lists.js
|
68
70
|
buildz/ioc/ioc_deal/conf/join_lists.js
|
69
71
|
buildz/ioc/ioc_deal/conf/list_lists.js
|
70
72
|
buildz/ioc/ioc_deal/conf/map_lists.js
|
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
|