buildz 0.4.3__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.
Files changed (124) hide show
  1. {buildz-0.4.3/buildz.egg-info → buildz-0.4.4}/PKG-INFO +1 -1
  2. buildz-0.4.4/buildz/__init__.py +4 -0
  3. buildz-0.4.4/buildz/argx.py +46 -0
  4. {buildz-0.4.3 → buildz-0.4.4}/buildz/demo/ioc/test.py +4 -0
  5. {buildz-0.4.3 → buildz-0.4.4}/buildz/demo/ioc/test_conf/data1.js +8 -0
  6. buildz-0.4.4/buildz/demo/xf/test.js +12 -0
  7. buildz-0.4.4/buildz/demo/xf/test.py +13 -0
  8. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/deals.js +4 -0
  9. buildz-0.4.4/buildz/ioc/ioc_deal/conf/ioc_lists.js +23 -0
  10. buildz-0.4.4/buildz/ioc/ioc_deal/ioc.py +19 -0
  11. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/__init__.py +2 -2
  12. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/__main__.py +2 -2
  13. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/build.py +2 -2
  14. buildz-0.4.4/buildz/old_version/keys.py +232 -0
  15. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/__init__.py +3 -3
  16. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/base.py +1 -1
  17. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/buff.py +1 -1
  18. buildz-0.4.4/buildz/old_version/xconfz/fc.py +8 -0
  19. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_item.py +2 -2
  20. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_list.py +2 -2
  21. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_map.py +2 -2
  22. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_set.py +1 -1
  23. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_str.py +1 -1
  24. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fc_type.py +3 -3
  25. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fmt_base.py +1 -1
  26. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fmt_str.py +5 -5
  27. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/fmt_type.py +4 -4
  28. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/mg.py +4 -4
  29. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/mg_fmt.py +6 -6
  30. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/__init__.py +2 -1
  31. buildz-0.4.4/buildz/xf/xargs.py +26 -0
  32. {buildz-0.4.3 → buildz-0.4.4/buildz.egg-info}/PKG-INFO +1 -1
  33. {buildz-0.4.3 → buildz-0.4.4}/buildz.egg-info/SOURCES.txt +38 -30
  34. {buildz-0.4.3 → buildz-0.4.4}/setup.py +1 -1
  35. buildz-0.4.3/buildz/xconfz/fc.py +0 -8
  36. {buildz-0.4.3 → buildz-0.4.4}/LICENSE +0 -0
  37. {buildz-0.4.3 → buildz-0.4.4}/MANIFEST.in +0 -0
  38. {buildz-0.4.3 → buildz-0.4.4}/README.md +0 -0
  39. {buildz-0.4.3 → buildz-0.4.4}/buildz/demo/ioc/test_conf/base.js +0 -0
  40. {buildz-0.4.3 → buildz-0.4.4}/buildz/demo/ioc/test_conf/data2.js +0 -0
  41. {buildz-0.4.3 → buildz-0.4.4}/buildz/demo/ioc/test_conf/data3.js +0 -0
  42. {buildz-0.4.3 → buildz-0.4.4}/buildz/dj.txt +0 -0
  43. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/__init__.py +0 -0
  44. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/init.py +0 -0
  45. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc/base.py +0 -0
  46. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc/conf.py +0 -0
  47. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc/confs.py +0 -0
  48. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/base.py +0 -0
  49. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/call.py +0 -0
  50. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/calls.py +0 -0
  51. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  52. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  53. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  54. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  55. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  56. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  57. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  58. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  59. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  60. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  61. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  62. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  63. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  64. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  65. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/demo.py +0 -0
  66. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/env.py +0 -0
  67. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/mcall.py +0 -0
  68. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/obj.py +0 -0
  69. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/ovar.py +0 -0
  70. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/ref.py +0 -0
  71. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/val.py +0 -0
  72. {buildz-0.4.3 → buildz-0.4.4}/buildz/ioc/ioc_deal/var.py +0 -0
  73. {buildz-0.4.3 → buildz-0.4.4}/buildz/keys.py +0 -0
  74. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/base.py +0 -0
  75. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/confz.py +0 -0
  76. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/demo.confz +0 -0
  77. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/demo.py +0 -0
  78. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/run.confz +0 -0
  79. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/test.confz +0 -0
  80. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/test.py +0 -0
  81. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/testc.py +0 -0
  82. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/testf.py +0 -0
  83. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/testz.py +0 -0
  84. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/value.confz +0 -0
  85. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/demo/x/x.py +0 -0
  86. {buildz-0.4.3/buildz → buildz-0.4.4/buildz/old_version}/xconfz/file.py +0 -0
  87. {buildz-0.4.3 → buildz-0.4.4}/buildz/pyz.py +0 -0
  88. {buildz-0.4.3 → buildz-0.4.4}/buildz/test_loader copy.py +0 -0
  89. {buildz-0.4.3 → buildz-0.4.4}/buildz/test_loader.py +0 -0
  90. {buildz-0.4.3 → buildz-0.4.4}/buildz/test_writer.py +0 -0
  91. {buildz-0.4.3 → buildz-0.4.4}/buildz/tools.py +0 -0
  92. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/file.py +0 -0
  93. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/base.py +0 -0
  94. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/buffer.py +0 -0
  95. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/listz.py +0 -0
  96. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/lr.py +0 -0
  97. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/lrval.py +0 -0
  98. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/mapz.py +0 -0
  99. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/nextz.py +0 -0
  100. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/reval.py +0 -0
  101. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/setz.py +0 -0
  102. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/spc.py +0 -0
  103. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/spt.py +0 -0
  104. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/deal/strz.py +0 -0
  105. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/exp.py +0 -0
  106. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/item.py +0 -0
  107. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/mg.py +0 -0
  108. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/loader/pos.py +0 -0
  109. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/mapz.py +0 -0
  110. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/read.py +0 -0
  111. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/test_write.py +0 -0
  112. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/write.py +0 -0
  113. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/base.py +0 -0
  114. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/conf.py +0 -0
  115. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/deal/jsonval.py +0 -0
  116. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/deal/listz.py +0 -0
  117. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/deal/mapz.py +0 -0
  118. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/deal/reval.py +0 -0
  119. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/deal/strz.py +0 -0
  120. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/itemz.py +0 -0
  121. {buildz-0.4.3 → buildz-0.4.4}/buildz/xf/writer/mg.py +0 -0
  122. {buildz-0.4.3 → buildz-0.4.4}/buildz.egg-info/dependency_links.txt +0 -0
  123. {buildz-0.4.3 → buildz-0.4.4}/buildz.egg-info/top_level.txt +0 -0
  124. {buildz-0.4.3 → 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
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,4 @@
1
+ #coding=utf-8
2
+ #author: zzz(1309458652@qq.com)
3
+
4
+ from .argx import fetch as args
@@ -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]
@@ -30,6 +33,7 @@ def test():
30
33
  print(f"obj: {obj}")
31
34
  print("DO CALLS")
32
35
  confs.get("data1.calls")
36
+ print("ARGS: ", argx.fetch())
33
37
 
34
38
  pass
35
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, [], {}]
@@ -0,0 +1,12 @@
1
+ {
2
+ // test
3
+ list: [
4
+ 1,2,3,,,[a,b,c]
5
+ ]
6
+ map: {
7
+ 0: 1, 2:3
8
+ 4:5, 6:7
9
+ 8:9, 10:11
10
+ money: 1024000
11
+ }
12
+ }
@@ -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)
@@ -36,6 +36,10 @@
36
36
  {
37
37
  type: calls,
38
38
  build: buildz.ioc.ioc_deal.calls.CallsDeal
39
+ },
40
+ {
41
+ type: ioc,
42
+ build: buildz.ioc.ioc_deal.ioc.IOCObjectDeal
39
43
  }
40
44
  ]
41
45
  }
@@ -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 buildz.build import Builder, main
3
- from buildz.keys import help
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
@@ -1,6 +1,6 @@
1
1
  #coding=utf-8
2
- from buildz.build import test
3
- from buildz import keys
2
+ from .build import test
3
+ from . import keys
4
4
  import sys
5
5
  def _main():
6
6
  v = sys.argv[1]
@@ -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 buildz import confz
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 buildz import confz
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
+ """
@@ -1,8 +1,8 @@
1
1
  #coding=utf-8
2
2
 
3
- from buildz.xconfz.mg import *
4
- from buildz.xconfz.mg_fmt import *
5
- from buildz.xconfz.file import *
3
+ from .mg import *
4
+ from .mg_fmt import *
5
+ from .file import *
6
6
 
7
7
  """
8
8
  loads(string) => object
@@ -1,6 +1,6 @@
1
1
  #coding=utf-8
2
2
 
3
- from buildz.base import Map
3
+ from ..base import Map
4
4
  '''
5
5
  格式化报错
6
6
  '''
@@ -1,6 +1,6 @@
1
1
  #coding=utf-8
2
2
 
3
- from buildz.xconfz.base import *
3
+ from .base import *
4
4
 
5
5
  class BufferImpl(Buffer):
6
6
  def cal_pos(self, s):
@@ -0,0 +1,8 @@
1
+ #coding=utf-8
2
+
3
+ from .fc_item import *
4
+ from .fc_list import *
5
+ from .fc_str import *
6
+ from .fc_map import *
7
+ from .fc_set import *
8
+ from .fc_type import *
@@ -1,7 +1,7 @@
1
1
  #coding=utf-8
2
- from buildz.xconfz.base import *
2
+ from .base import *
3
3
 
4
- from buildz.xconfz.fmt_base import *
4
+ from .fmt_base import *
5
5
 
6
6
  """
7
7
  去左空格
@@ -1,7 +1,7 @@
1
1
  #coding=utf-8
2
- from buildz.xconfz.base import *
2
+ from .base import *
3
3
 
4
- from buildz.xconfz.fmt_base import *
4
+ from .fmt_base import *
5
5
 
6
6
  class ListDeal(BaseDeal):
7
7
  def init(self, reg):
@@ -1,7 +1,7 @@
1
1
  #coding=utf-8
2
- from buildz.xconfz.base import *
2
+ from .base import *
3
3
 
4
- from buildz.xconfz.fmt_base import *
4
+ from .fmt_base import *
5
5
 
6
6
  class MapDeal(BaseDeal):
7
7
  def init(self, reg):
@@ -1,5 +1,5 @@
1
1
  #coding=utf-8
2
- from buildz.xconfz.base import *
2
+ from .base import *
3
3
 
4
4
  class TypeSet:
5
5
  def __str__(self):
@@ -1,5 +1,5 @@
1
1
  #coding=utf-8
2
- from buildz.xconfz.base import *
2
+ from .base import *
3
3
 
4
4
 
5
5
  class StrDeal(BaseDeal):
@@ -1,7 +1,7 @@
1
1
  #coding=utf-8
2
- from buildz.xconfz.base import *
3
- from buildz.xconfz.fc_list import *
4
- from buildz.xconfz.fc_set import *
2
+ from .base import *
3
+ from .fc_list import *
4
+ from .fc_set import *
5
5
 
6
6
 
7
7
  """
@@ -1,5 +1,5 @@
1
1
  #coding=utf-8
2
- from buildz.xconfz.base import *
2
+ from .base import *
3
3
  """
4
4
  返回Node
5
5
  """
@@ -7,12 +7,12 @@ impl in class
7
7
 
8
8
  import io
9
9
  # io.StringIO("asdf")
10
- from buildz.xconfz.buff import *
11
- from buildz.xconfz.fc import *
10
+ from .buff import *
11
+ from .fc import *
12
12
 
13
- from buildz.xconfz.fmt_base import *
14
- from buildz.xconfz.fmt_type import *
15
- from buildz.xconfz.mg import *
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 buildz.xconfz.base import *
3
- from buildz.xconfz.fc_list import *
4
- from buildz.xconfz.fc_set import *
2
+ from .base import *
3
+ from .fc_list import *
4
+ from .fc_set import *
5
5
 
6
- from buildz.xconfz.fmt_base import *
6
+ from .fmt_base import *
7
7
 
8
8
  """
9
9
  二元符<val, type>
@@ -7,9 +7,9 @@ impl in class
7
7
 
8
8
  import io
9
9
  # io.StringIO("asdf")
10
- from buildz.xconfz.buff import *
11
- from buildz.xconfz.fc import *
12
- from buildz.xconfz.fmt_base import *
10
+ from .buff import *
11
+ from .fc import *
12
+ from .fmt_base import *
13
13
 
14
14
  class Confz:
15
15
  def fcs(self, fc, *args, **maps):
@@ -155,7 +155,7 @@ def loads(s):
155
155
 
156
156
  pass
157
157
 
158
- from buildz.xconfz.file import *
158
+ from .file import *
159
159
 
160
160
  def loadfile(fp, coding = 'utf-8'):
161
161
  return loads(fread(fp, coding))
@@ -7,13 +7,13 @@ impl in class
7
7
 
8
8
  import io
9
9
  # io.StringIO("asdf")
10
- from buildz.xconfz.buff import *
11
- from buildz.xconfz.fc import *
10
+ from .buff import *
11
+ from .fc import *
12
12
 
13
- from buildz.xconfz.fmt_base import *
14
- from buildz.xconfz.fmt_type import *
15
- from buildz.xconfz.fmt_str import *
16
- from buildz.xconfz.mg import *
13
+ from .fmt_base import *
14
+ from .fmt_type import *
15
+ from .fmt_str import *
16
+ from .mg import *
17
17
 
18
18
  class Buildz:
19
19
  def __init__(self, bts= False):
@@ -2,4 +2,5 @@
2
2
  from .read import loads, load
3
3
  from .write import dumps, dump
4
4
  from .file import *
5
- from .mapz import *
5
+ from .mapz import *
6
+ from .xargs import fetch as args
@@ -0,0 +1,26 @@
1
+ #coding=utf-8
2
+ from .read import loads
3
+ import sys
4
+ def fetch(argv = None):
5
+ if argv is None:
6
+ argv = sys.argv[1:]
7
+ argv = [str(k) for k in argv]
8
+ s = " ".join(argv)
9
+ s = s.strip()
10
+ lrs = [["",""]]
11
+ if len(s)==0:
12
+ return None
13
+ if s[0] not in "([{":
14
+ lrs = ["{}", "[]"]
15
+ for l,r in lrs:
16
+ x = l+s+r
17
+ try:
18
+ return loads(x)
19
+ except:
20
+ pass
21
+ raise Exception("unable to fetch params")
22
+
23
+ pass
24
+
25
+
26
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.4.3
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
@@ -3,10 +3,7 @@ MANIFEST.in
3
3
  README.md
4
4
  setup.py
5
5
  buildz/__init__.py
6
- buildz/__main__.py
7
- buildz/base.py
8
- buildz/build.py
9
- buildz/confz.py
6
+ buildz/argx.py
10
7
  buildz/dj.txt
11
8
  buildz/keys.py
12
9
  buildz/pyz.py
@@ -23,16 +20,8 @@ buildz/demo/ioc/test_conf/base.js
23
20
  buildz/demo/ioc/test_conf/data1.js
24
21
  buildz/demo/ioc/test_conf/data2.js
25
22
  buildz/demo/ioc/test_conf/data3.js
26
- buildz/demo/x/demo.confz
27
- buildz/demo/x/demo.py
28
- buildz/demo/x/run.confz
29
- buildz/demo/x/test.confz
30
- buildz/demo/x/test.py
31
- buildz/demo/x/testc.py
32
- buildz/demo/x/testf.py
33
- buildz/demo/x/testz.py
34
- buildz/demo/x/value.confz
35
- buildz/demo/x/x.py
23
+ buildz/demo/xf/test.js
24
+ buildz/demo/xf/test.py
36
25
  buildz/ioc/__init__.py
37
26
  buildz/ioc/init.py
38
27
  buildz/ioc/ioc/base.py
@@ -43,6 +32,7 @@ buildz/ioc/ioc_deal/call.py
43
32
  buildz/ioc/ioc_deal/calls.py
44
33
  buildz/ioc/ioc_deal/demo.py
45
34
  buildz/ioc/ioc_deal/env.py
35
+ buildz/ioc/ioc_deal/ioc.py
46
36
  buildz/ioc/ioc_deal/mcall.py
47
37
  buildz/ioc/ioc_deal/obj.py
48
38
  buildz/ioc/ioc_deal/ovar.py
@@ -55,6 +45,7 @@ buildz/ioc/ioc_deal/conf/calls_defaults.js
55
45
  buildz/ioc/ioc_deal/conf/calls_lists.js
56
46
  buildz/ioc/ioc_deal/conf/deals.js
57
47
  buildz/ioc/ioc_deal/conf/env_lists.js
48
+ buildz/ioc/ioc_deal/conf/ioc_lists.js
58
49
  buildz/ioc/ioc_deal/conf/mcall_defaults.js
59
50
  buildz/ioc/ioc_deal/conf/mcall_lists.js
60
51
  buildz/ioc/ioc_deal/conf/obj_cst_lists.js
@@ -64,28 +55,45 @@ buildz/ioc/ioc_deal/conf/obj_set_lists.js
64
55
  buildz/ioc/ioc_deal/conf/ovar_lists.js
65
56
  buildz/ioc/ioc_deal/conf/ref_lists.js
66
57
  buildz/ioc/ioc_deal/conf/var_lists.js
67
- buildz/xconfz/__init__.py
68
- buildz/xconfz/base.py
69
- buildz/xconfz/buff.py
70
- buildz/xconfz/fc.py
71
- buildz/xconfz/fc_item.py
72
- buildz/xconfz/fc_list.py
73
- buildz/xconfz/fc_map.py
74
- buildz/xconfz/fc_set.py
75
- buildz/xconfz/fc_str.py
76
- buildz/xconfz/fc_type.py
77
- buildz/xconfz/file.py
78
- buildz/xconfz/fmt_base.py
79
- buildz/xconfz/fmt_str.py
80
- buildz/xconfz/fmt_type.py
81
- buildz/xconfz/mg.py
82
- buildz/xconfz/mg_fmt.py
58
+ buildz/old_version/__init__.py
59
+ buildz/old_version/__main__.py
60
+ buildz/old_version/base.py
61
+ buildz/old_version/build.py
62
+ buildz/old_version/confz.py
63
+ buildz/old_version/keys.py
64
+ buildz/old_version/demo/x/demo.confz
65
+ buildz/old_version/demo/x/demo.py
66
+ buildz/old_version/demo/x/run.confz
67
+ buildz/old_version/demo/x/test.confz
68
+ buildz/old_version/demo/x/test.py
69
+ buildz/old_version/demo/x/testc.py
70
+ buildz/old_version/demo/x/testf.py
71
+ buildz/old_version/demo/x/testz.py
72
+ buildz/old_version/demo/x/value.confz
73
+ buildz/old_version/demo/x/x.py
74
+ buildz/old_version/xconfz/__init__.py
75
+ buildz/old_version/xconfz/base.py
76
+ buildz/old_version/xconfz/buff.py
77
+ buildz/old_version/xconfz/fc.py
78
+ buildz/old_version/xconfz/fc_item.py
79
+ buildz/old_version/xconfz/fc_list.py
80
+ buildz/old_version/xconfz/fc_map.py
81
+ buildz/old_version/xconfz/fc_set.py
82
+ buildz/old_version/xconfz/fc_str.py
83
+ buildz/old_version/xconfz/fc_type.py
84
+ buildz/old_version/xconfz/file.py
85
+ buildz/old_version/xconfz/fmt_base.py
86
+ buildz/old_version/xconfz/fmt_str.py
87
+ buildz/old_version/xconfz/fmt_type.py
88
+ buildz/old_version/xconfz/mg.py
89
+ buildz/old_version/xconfz/mg_fmt.py
83
90
  buildz/xf/__init__.py
84
91
  buildz/xf/file.py
85
92
  buildz/xf/mapz.py
86
93
  buildz/xf/read.py
87
94
  buildz/xf/test_write.py
88
95
  buildz/xf/write.py
96
+ buildz/xf/xargs.py
89
97
  buildz/xf/loader/base.py
90
98
  buildz/xf/loader/buffer.py
91
99
  buildz/xf/loader/exp.py
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
7
7
 
8
8
  setup(
9
9
  name = 'buildz',
10
- version = '0.4.3',
10
+ version = '0.4.4',
11
11
  keywords='buildz',
12
12
  long_description=open('README.md', 'r', encoding="utf-8").read(),
13
13
  long_description_content_type='text/markdown',
@@ -1,8 +0,0 @@
1
- #coding=utf-8
2
-
3
- from buildz.xconfz.fc_item import *
4
- from buildz.xconfz.fc_list import *
5
- from buildz.xconfz.fc_str import *
6
- from buildz.xconfz.fc_map import *
7
- from buildz.xconfz.fc_set import *
8
- from buildz.xconfz.fc_type import *
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