buildz 0.4.2__tar.gz → 0.4.4__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.4.2/buildz.egg-info → buildz-0.4.4}/PKG-INFO +1 -1
- buildz-0.4.4/buildz/__init__.py +4 -0
- buildz-0.4.4/buildz/argx.py +46 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/demo/ioc/test.py +6 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/demo/ioc/test_conf/data1.js +16 -0
- buildz-0.4.4/buildz/demo/xf/test.js +12 -0
- buildz-0.4.4/buildz/demo/xf/test.py +13 -0
- buildz-0.4.4/buildz/ioc/ioc_deal/calls.py +36 -0
- buildz-0.4.4/buildz/ioc/ioc_deal/conf/calls_defaults.js +3 -0
- buildz-0.4.4/buildz/ioc/ioc_deal/conf/calls_lists.js +19 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/deals.js +8 -0
- buildz-0.4.4/buildz/ioc/ioc_deal/conf/ioc_lists.js +23 -0
- buildz-0.4.4/buildz/ioc/ioc_deal/ioc.py +19 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/__init__.py +2 -2
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/__main__.py +2 -2
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/build.py +2 -2
- buildz-0.4.4/buildz/old_version/keys.py +232 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/__init__.py +3 -3
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/base.py +1 -1
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/buff.py +1 -1
- buildz-0.4.4/buildz/old_version/xconfz/fc.py +8 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_item.py +2 -2
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_list.py +2 -2
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_map.py +2 -2
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_set.py +1 -1
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_str.py +1 -1
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_type.py +3 -3
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fmt_base.py +1 -1
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fmt_str.py +5 -5
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fmt_type.py +4 -4
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/mg.py +4 -4
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/mg_fmt.py +6 -6
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/__init__.py +2 -1
- buildz-0.4.4/buildz/xf/xargs.py +26 -0
- {buildz-0.4.2 → buildz-0.4.4/buildz.egg-info}/PKG-INFO +1 -1
- {buildz-0.4.2 → buildz-0.4.4}/buildz.egg-info/SOURCES.txt +41 -30
- {buildz-0.4.2 → buildz-0.4.4}/setup.py +1 -1
- buildz-0.4.2/buildz/xconfz/fc.py +0 -8
- {buildz-0.4.2 → buildz-0.4.4}/LICENSE +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/MANIFEST.in +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/README.md +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/demo/ioc/test_conf/base.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/demo/ioc/test_conf/data2.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/demo/ioc/test_conf/data3.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/dj.txt +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/__init__.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/init.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc/base.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc/conf.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc/confs.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/base.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/call.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/demo.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/env.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/mcall.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/obj.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/ovar.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/ref.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/val.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/ioc/ioc_deal/var.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/keys.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/base.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/confz.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/demo.confz +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/demo.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/run.confz +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/test.confz +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/test.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/testc.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/testf.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/testz.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/value.confz +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/demo/x/x.py +0 -0
- {buildz-0.4.2/buildz → buildz-0.4.4/buildz/old_version}/xconfz/file.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/pyz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/test_loader copy.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/test_loader.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/test_writer.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/tools.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/file.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/base.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/buffer.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/listz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/lr.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/lrval.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/mapz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/nextz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/reval.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/setz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/spc.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/spt.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/deal/strz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/exp.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/item.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/mg.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/loader/pos.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/mapz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/read.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/test_write.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/write.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/base.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/conf.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/deal/jsonval.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/deal/listz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/deal/mapz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/deal/reval.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/deal/strz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/itemz.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz/xf/writer/mg.py +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz.egg-info/dependency_links.txt +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/buildz.egg-info/top_level.txt +0 -0
- {buildz-0.4.2 → buildz-0.4.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: buildz
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.4
|
4
4
|
Summary: a json-like file format's read and write code by python, and codes to read and product object from configure file in such format
|
5
5
|
Home-page: https://github.com/buildCodeZ/buildz
|
6
6
|
Author: Zzz
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#coding=utf-8
|
2
|
+
import sys
|
3
|
+
def fetch(argv = None):
|
4
|
+
r"""
|
5
|
+
format: a b c -a 123 -b456 --c=789 +d -x"??? ???" y z
|
6
|
+
return: [a,b,c,y,z], {a:123,b:456,c:789,d:1,x:'??? ???'}
|
7
|
+
"""
|
8
|
+
if argv is None:
|
9
|
+
argv = sys.argv[1:]
|
10
|
+
lists, maps = [],{}
|
11
|
+
argv = [str(k).strip() for k in argv]
|
12
|
+
argv = [k for k in argv if k!=""]
|
13
|
+
i = 0
|
14
|
+
while i<len(argv):
|
15
|
+
v = argv[i]
|
16
|
+
if v in ["-", "--", "+"]or v[0] not in "+-":
|
17
|
+
lists.append(v)
|
18
|
+
i+=1
|
19
|
+
continue
|
20
|
+
if v[0] == "+":
|
21
|
+
key = v[1:]
|
22
|
+
val = 1
|
23
|
+
else:
|
24
|
+
if v[1]=="-":
|
25
|
+
kv = v[2:]
|
26
|
+
x = kv.split("=")
|
27
|
+
key = x[0]
|
28
|
+
val = "=".join(x[1:])
|
29
|
+
else:
|
30
|
+
key = v[1]
|
31
|
+
if len(v)>2:
|
32
|
+
val = argv[2:]
|
33
|
+
else:
|
34
|
+
if i+1>=len(argv):
|
35
|
+
val = 1
|
36
|
+
else:
|
37
|
+
val = argv[i+1]
|
38
|
+
i+=1
|
39
|
+
maps[key] = val
|
40
|
+
i+=1
|
41
|
+
return lists, maps
|
42
|
+
|
43
|
+
pass
|
44
|
+
|
45
|
+
|
46
|
+
|
@@ -1,6 +1,7 @@
|
|
1
1
|
#
|
2
2
|
from buildz.ioc import build
|
3
3
|
from buildz import xf
|
4
|
+
from buildz import argx
|
4
5
|
import os
|
5
6
|
join = os.path.join
|
6
7
|
class Test:
|
@@ -11,6 +12,8 @@ class Test:
|
|
11
12
|
def run(self):
|
12
13
|
print(f"get obj:{self}")
|
13
14
|
print("get_obj.obj:", self.obj)
|
15
|
+
print(f"ioc: {self.ioc}")
|
16
|
+
print(f"ioc env: {self.ioc.get_env('path')}")
|
14
17
|
|
15
18
|
pass
|
16
19
|
fps = xf.loads("[data1.js, data2.js, data3.js]")[:2]
|
@@ -28,6 +31,9 @@ def test():
|
|
28
31
|
confs.get("data1.run")
|
29
32
|
obj = confs.get("data1.test.obj")
|
30
33
|
print(f"obj: {obj}")
|
34
|
+
print("DO CALLS")
|
35
|
+
confs.get("data1.calls")
|
36
|
+
print("ARGS: ", argx.fetch())
|
31
37
|
|
32
38
|
pass
|
33
39
|
|
@@ -22,6 +22,14 @@
|
|
22
22
|
sets: [
|
23
23
|
[obj, [ref, test]]
|
24
24
|
[obj1, [ovar, null, args]]
|
25
|
+
[ioc, [ioc, conf]]
|
26
|
+
{
|
27
|
+
key: conf
|
28
|
+
val: {
|
29
|
+
type: ioc
|
30
|
+
key: conf
|
31
|
+
}
|
32
|
+
}
|
25
33
|
],
|
26
34
|
calls: [
|
27
35
|
[mcall, null, run, [], {}]
|
@@ -39,5 +47,13 @@
|
|
39
47
|
id: test.obj
|
40
48
|
val: test.show
|
41
49
|
}
|
50
|
+
{
|
51
|
+
id: calls
|
52
|
+
type: calls
|
53
|
+
calls: [
|
54
|
+
[mcall, test, run,,,]
|
55
|
+
[call, test.show]
|
56
|
+
]
|
57
|
+
}
|
42
58
|
]
|
43
59
|
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from buildz import xf
|
2
|
+
|
3
|
+
from os.path import join, dirname
|
4
|
+
dp = dirname(__file__)
|
5
|
+
fp = join(dp, "test.js")
|
6
|
+
|
7
|
+
s = xf.fread(fp)
|
8
|
+
obj = xf.loads(s)
|
9
|
+
|
10
|
+
rs = xf.dumps(obj, format=1, deep = 1)
|
11
|
+
print(rs)
|
12
|
+
args = xf.args()
|
13
|
+
print("args from cmd:", args)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#
|
2
|
+
from ..ioc.base import Base, EncapeData
|
3
|
+
from .base import FormatData,BaseDeal
|
4
|
+
from buildz import xf, pyz
|
5
|
+
import os
|
6
|
+
dp = os.path.dirname(__file__)
|
7
|
+
join = os.path.join
|
8
|
+
class CallsDeal(BaseDeal):
|
9
|
+
"""
|
10
|
+
{
|
11
|
+
id: ...
|
12
|
+
type: calls
|
13
|
+
calls: [
|
14
|
+
...
|
15
|
+
]
|
16
|
+
}
|
17
|
+
[[id, type], calls]
|
18
|
+
"""
|
19
|
+
def init(self, fp_lists = None, fp_defaults = None):
|
20
|
+
self.singles = {}
|
21
|
+
self.sources = {}
|
22
|
+
super().init("CallsDeal", fp_lists, fp_defaults,
|
23
|
+
join(dp, "conf", "calls_lists.js"),
|
24
|
+
join(dp, "conf", "calls_defaults.js"))
|
25
|
+
def deal(self, edata:EncapeData):
|
26
|
+
sid = edata.sid
|
27
|
+
data = edata.data
|
28
|
+
conf = edata.conf
|
29
|
+
data = self.format(data)
|
30
|
+
src = edata.src
|
31
|
+
calls = xf.g(data, calls=[])
|
32
|
+
for call in calls:
|
33
|
+
rst = self.get_obj(call, conf, src)
|
34
|
+
return rst
|
35
|
+
|
36
|
+
pass
|
@@ -0,0 +1,19 @@
|
|
1
|
+
// [[id, type, single], source, construct=[args, maps], sets=[]]
|
2
|
+
[
|
3
|
+
{
|
4
|
+
nullable: 0,
|
5
|
+
out: 1,
|
6
|
+
conf: {
|
7
|
+
sort: -1,
|
8
|
+
data:[
|
9
|
+
{key: id, default: null},
|
10
|
+
{key: type, default: null}
|
11
|
+
]
|
12
|
+
}
|
13
|
+
},
|
14
|
+
{
|
15
|
+
nullable: 1,
|
16
|
+
key: calls,
|
17
|
+
default: []
|
18
|
+
},
|
19
|
+
]
|
@@ -0,0 +1,23 @@
|
|
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: 1,
|
19
|
+
key: key,
|
20
|
+
default: conf
|
21
|
+
}
|
22
|
+
]
|
23
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#coding=utf-8
|
2
|
+
from ..ioc.base import Base, EncapeData
|
3
|
+
from .base import FormatData,BaseDeal
|
4
|
+
from buildz import xf, pyz
|
5
|
+
import os
|
6
|
+
dp = os.path.dirname(__file__)
|
7
|
+
join = os.path.join
|
8
|
+
class IOCObjectDeal(BaseDeal):
|
9
|
+
def init(self, fp_lists=None, fp_defaults=None):
|
10
|
+
super().init("IOCObjectDeal", fp_lists, fp_defaults, join(dp, "conf", "ioc_lists.js"), None)
|
11
|
+
def deal(self, edata:EncapeData):
|
12
|
+
data = edata.data
|
13
|
+
data = self.fill(data)
|
14
|
+
key = data['key']
|
15
|
+
if not hasattr(edata, key):
|
16
|
+
return None
|
17
|
+
return getattr(edata, key)
|
18
|
+
|
19
|
+
pass
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#from buildz.confz import read, loadfile, output, fread
|
2
|
-
from
|
3
|
-
from
|
2
|
+
from .build import Builder, main
|
3
|
+
from .keys import help
|
4
4
|
"""
|
5
5
|
json-like(called 'confz' in here) data format function:
|
6
6
|
read: string -> obj
|
@@ -41,14 +41,14 @@ builtins._list = build_list
|
|
41
41
|
builtins._dict = build_dict
|
42
42
|
g_default_import = "buildz"+".base"
|
43
43
|
def read_confz(filepath):
|
44
|
-
from
|
44
|
+
from . import confz
|
45
45
|
s = confz.fread(filepath)
|
46
46
|
obj = confz.read(s)
|
47
47
|
return obj
|
48
48
|
|
49
49
|
pass
|
50
50
|
def read_json(filepath):
|
51
|
-
from
|
51
|
+
from . import confz
|
52
52
|
import json
|
53
53
|
s = confz.fread(filepath)
|
54
54
|
obj = json.loads(s)
|
@@ -0,0 +1,232 @@
|
|
1
|
+
#coding=utf-8
|
2
|
+
english = """
|
3
|
+
1. value:
|
4
|
+
1) string
|
5
|
+
{
|
6
|
+
key: {key}
|
7
|
+
val: {value}
|
8
|
+
}
|
9
|
+
2) int, float, bool
|
10
|
+
{
|
11
|
+
key: {key}
|
12
|
+
val: <{value}, {type}>
|
13
|
+
}
|
14
|
+
3) from source code:
|
15
|
+
{
|
16
|
+
key: {key}
|
17
|
+
import: {package}
|
18
|
+
# var, not val
|
19
|
+
var: {var}
|
20
|
+
}
|
21
|
+
4) value or method from object:
|
22
|
+
{
|
23
|
+
key: {key}
|
24
|
+
ref: {ref}
|
25
|
+
# var, not val
|
26
|
+
var: {var}
|
27
|
+
}
|
28
|
+
5) list:
|
29
|
+
{
|
30
|
+
key: {key}
|
31
|
+
args: [
|
32
|
+
...
|
33
|
+
]
|
34
|
+
}
|
35
|
+
6) dict:
|
36
|
+
{
|
37
|
+
key: {key}
|
38
|
+
# notice this is "[", not "{"
|
39
|
+
maps: [
|
40
|
+
...
|
41
|
+
]
|
42
|
+
}
|
43
|
+
7) just is {data}, not do any transfer
|
44
|
+
{
|
45
|
+
key: {key}
|
46
|
+
data: {data}
|
47
|
+
}
|
48
|
+
2. object:
|
49
|
+
{
|
50
|
+
# optional, if 0, new every time, else just build a single static object
|
51
|
+
single: 0|1
|
52
|
+
key: {key}
|
53
|
+
import: {import}
|
54
|
+
call: {class}
|
55
|
+
# optional, should not put with args
|
56
|
+
val: {val}
|
57
|
+
# optional, should not put with val
|
58
|
+
args: [
|
59
|
+
({value}, {type})
|
60
|
+
...
|
61
|
+
]
|
62
|
+
# optional
|
63
|
+
maps: [
|
64
|
+
({key}, {value}, {type})
|
65
|
+
...
|
66
|
+
]
|
67
|
+
# optional, should no with val, args, maps
|
68
|
+
data: {data}
|
69
|
+
# optional
|
70
|
+
calls: [
|
71
|
+
({key}, {type}) #type: call(object.method), fc(static function)
|
72
|
+
]
|
73
|
+
}
|
74
|
+
3. function:
|
75
|
+
1) object's method
|
76
|
+
{
|
77
|
+
key: {key}
|
78
|
+
ref: {ref} #optional
|
79
|
+
call: {call} #optional, object.{call}(...), if not {call}: object(...)
|
80
|
+
val: {val} # optional, should not put with args
|
81
|
+
args: [...] # optional, should not put with val
|
82
|
+
maps: [...] # optional
|
83
|
+
data: {data} # optional, should no with val, args, maps
|
84
|
+
}
|
85
|
+
# if there is not params in object, put an empty args or empty maps: {key:{key}, ref:{ref}, args:[]}
|
86
|
+
2) static function
|
87
|
+
{
|
88
|
+
key: {key}
|
89
|
+
import: {import}
|
90
|
+
call: {call}
|
91
|
+
val: {val} # optional, should not put with args
|
92
|
+
args: [...] # optional, should not put with val
|
93
|
+
maps: [...] # optional
|
94
|
+
data: {data} # optional, should no with val, args, maps
|
95
|
+
}
|
96
|
+
4. functions:
|
97
|
+
{
|
98
|
+
key: {key}
|
99
|
+
calls: [
|
100
|
+
...
|
101
|
+
]
|
102
|
+
}
|
103
|
+
|
104
|
+
"""
|
105
|
+
chinese = """
|
106
|
+
1. 定义值:
|
107
|
+
1) 字符串
|
108
|
+
{
|
109
|
+
key: {key}
|
110
|
+
val: {value}
|
111
|
+
}
|
112
|
+
2) int, float, bool
|
113
|
+
{
|
114
|
+
key: {key}
|
115
|
+
val: <{value}, {type}>
|
116
|
+
}
|
117
|
+
3) 源代码中的变量(常量):
|
118
|
+
{
|
119
|
+
key: {key}
|
120
|
+
import: {package}
|
121
|
+
# var, 不是val
|
122
|
+
var: {var}
|
123
|
+
}
|
124
|
+
4) 对象的变量:
|
125
|
+
{
|
126
|
+
key: {key}
|
127
|
+
ref: {ref}
|
128
|
+
# var, 不是val
|
129
|
+
var: {var}
|
130
|
+
}
|
131
|
+
5) list:
|
132
|
+
{
|
133
|
+
key: {key}
|
134
|
+
args: [
|
135
|
+
...
|
136
|
+
]
|
137
|
+
}
|
138
|
+
6) dict:
|
139
|
+
{
|
140
|
+
key: {key}
|
141
|
+
# 注意是"[", 不是"{"
|
142
|
+
maps: [
|
143
|
+
...
|
144
|
+
]
|
145
|
+
}
|
146
|
+
7) 纯数据,不做任何转换
|
147
|
+
{
|
148
|
+
key: {key}
|
149
|
+
data: {data}
|
150
|
+
}
|
151
|
+
2. object对象:
|
152
|
+
{
|
153
|
+
# 可选,是否是单例
|
154
|
+
single: 0|1
|
155
|
+
key: {key}
|
156
|
+
import: {import}
|
157
|
+
call: {class}
|
158
|
+
# 可选,不和args一起
|
159
|
+
val: {val}
|
160
|
+
# 可选,不和val一起
|
161
|
+
args: [
|
162
|
+
({value}, {type})
|
163
|
+
...
|
164
|
+
]
|
165
|
+
# 可选
|
166
|
+
maps: [
|
167
|
+
({key}, {value}, {type})
|
168
|
+
...
|
169
|
+
]
|
170
|
+
# 可选, 不和val, args, maps一起
|
171
|
+
data: {data}
|
172
|
+
# 可选
|
173
|
+
calls: [
|
174
|
+
({key}, {type}) #type: call(object.method), fc(static function)
|
175
|
+
]
|
176
|
+
}
|
177
|
+
3. function:
|
178
|
+
1) object's method
|
179
|
+
{
|
180
|
+
key: {key}
|
181
|
+
ref: {ref} #可选
|
182
|
+
call: {call} #可选, object.{call}(...), if not {call}: object(...)
|
183
|
+
val: {val} # 可选, 不和args一起
|
184
|
+
args: [...] # 可选, 不和val一起
|
185
|
+
maps: [...] # 可选
|
186
|
+
data: {data} # 可选, 不和val, args, maps一起
|
187
|
+
# 如果是调用对象本身,并且对象没有任何输入参数,要写一个空的args或maps: {key:{key}, ref:{ref}, args:[]}
|
188
|
+
2) static function
|
189
|
+
{
|
190
|
+
key: {key}
|
191
|
+
import: {import}
|
192
|
+
call: {call}
|
193
|
+
val: {val} # 可选, 不和args一起
|
194
|
+
args: [...] # 可选, 不和val一起
|
195
|
+
maps: [...] # 可选
|
196
|
+
data: {data} # 可选, 不和val, args, maps一起
|
197
|
+
}
|
198
|
+
4. functions:
|
199
|
+
{
|
200
|
+
key: {key}
|
201
|
+
calls: [
|
202
|
+
...
|
203
|
+
]
|
204
|
+
}
|
205
|
+
|
206
|
+
"""
|
207
|
+
|
208
|
+
def help(lang = 'cn'):
|
209
|
+
global chinese, english
|
210
|
+
lang = lang.lower()
|
211
|
+
if lang in ['cn', 'ch']:
|
212
|
+
print(chinese)
|
213
|
+
else:
|
214
|
+
print(english)
|
215
|
+
|
216
|
+
pass
|
217
|
+
|
218
|
+
"""
|
219
|
+
|
220
|
+
{key: demo1, val: "hello world!"}
|
221
|
+
{key: demo2, val: <100.0, float>}
|
222
|
+
demo/val.py:
|
223
|
+
a = 10
|
224
|
+
class X:pass
|
225
|
+
b = X()
|
226
|
+
b.c = a
|
227
|
+
{key: demo3, import: demo.val, var: a}
|
228
|
+
{key: demo3, import: demo.val, var: b.c}
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
"""
|
@@ -7,12 +7,12 @@ impl in class
|
|
7
7
|
|
8
8
|
import io
|
9
9
|
# io.StringIO("asdf")
|
10
|
-
from
|
11
|
-
from
|
10
|
+
from .buff import *
|
11
|
+
from .fc import *
|
12
12
|
|
13
|
-
from
|
14
|
-
from
|
15
|
-
from
|
13
|
+
from .fmt_base import *
|
14
|
+
from .fmt_type import *
|
15
|
+
from .mg import *
|
16
16
|
|
17
17
|
|
18
18
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
#coding=utf-8
|
2
|
-
from
|
3
|
-
from
|
4
|
-
from
|
2
|
+
from .base import *
|
3
|
+
from .fc_list import *
|
4
|
+
from .fc_set import *
|
5
5
|
|
6
|
-
from
|
6
|
+
from .fmt_base import *
|
7
7
|
|
8
8
|
"""
|
9
9
|
二元符<val, type>
|