buildz 0.3.4__tar.gz → 0.3.5__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 (83) hide show
  1. {buildz-0.3.4/buildz.egg-info → buildz-0.3.5}/PKG-INFO +1 -1
  2. {buildz-0.3.4 → buildz-0.3.5}/buildz/test_loader.py +3 -0
  3. {buildz-0.3.4 → buildz-0.3.5}/buildz/test_writer.py +1 -1
  4. buildz-0.3.5/buildz/xf/__pycache__/__init__.cpython-311.pyc +0 -0
  5. buildz-0.3.5/buildz/xf/__pycache__/file.cpython-311.pyc +0 -0
  6. buildz-0.3.5/buildz/xf/__pycache__/mapz.cpython-311.pyc +0 -0
  7. buildz-0.3.5/buildz/xf/__pycache__/read.cpython-311.pyc +0 -0
  8. buildz-0.3.5/buildz/xf/__pycache__/write.cpython-311.pyc +0 -0
  9. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/base.py +2 -1
  10. buildz-0.3.5/buildz/xf/loader/deal/lrval.py +55 -0
  11. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/reval.py +5 -1
  12. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/read.py +31 -1
  13. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/write.py +1 -1
  14. {buildz-0.3.4 → buildz-0.3.5/buildz.egg-info}/PKG-INFO +1 -1
  15. {buildz-0.3.4 → buildz-0.3.5}/buildz.egg-info/SOURCES.txt +6 -0
  16. {buildz-0.3.4 → buildz-0.3.5}/setup.py +1 -1
  17. {buildz-0.3.4 → buildz-0.3.5}/LICENSE +0 -0
  18. {buildz-0.3.4 → buildz-0.3.5}/MANIFEST.in +0 -0
  19. {buildz-0.3.4 → buildz-0.3.5}/README.md +0 -0
  20. {buildz-0.3.4 → buildz-0.3.5}/buildz/__init__.py +0 -0
  21. {buildz-0.3.4 → buildz-0.3.5}/buildz/__main__.py +0 -0
  22. {buildz-0.3.4 → buildz-0.3.5}/buildz/base.py +0 -0
  23. {buildz-0.3.4 → buildz-0.3.5}/buildz/build.py +0 -0
  24. {buildz-0.3.4 → buildz-0.3.5}/buildz/confz.py +0 -0
  25. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/demo.confz +0 -0
  26. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/demo.py +0 -0
  27. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/run.confz +0 -0
  28. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/test.confz +0 -0
  29. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/test.py +0 -0
  30. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/testc.py +0 -0
  31. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/testf.py +0 -0
  32. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/testz.py +0 -0
  33. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/value.confz +0 -0
  34. {buildz-0.3.4 → buildz-0.3.5}/buildz/demo/x.py +0 -0
  35. {buildz-0.3.4 → buildz-0.3.5}/buildz/dj.txt +0 -0
  36. {buildz-0.3.4 → buildz-0.3.5}/buildz/keys.py +0 -0
  37. {buildz-0.3.4 → buildz-0.3.5}/buildz/test_loader copy.py +0 -0
  38. {buildz-0.3.4 → buildz-0.3.5}/buildz/tools.py +0 -0
  39. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/__init__.py +0 -0
  40. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/base.py +0 -0
  41. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/buff.py +0 -0
  42. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fc.py +0 -0
  43. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fc_item.py +0 -0
  44. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fc_list.py +0 -0
  45. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fc_map.py +0 -0
  46. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fc_set.py +0 -0
  47. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fc_str.py +0 -0
  48. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fc_type.py +0 -0
  49. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/file.py +0 -0
  50. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fmt_base.py +0 -0
  51. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fmt_str.py +0 -0
  52. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/fmt_type.py +0 -0
  53. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/mg.py +0 -0
  54. {buildz-0.3.4 → buildz-0.3.5}/buildz/xconfz/mg_fmt.py +0 -0
  55. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/__init__.py +0 -0
  56. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/file.py +0 -0
  57. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/buffer.py +0 -0
  58. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/listz.py +0 -0
  59. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/lr.py +0 -0
  60. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/mapz.py +0 -0
  61. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/nextz.py +0 -0
  62. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/setz.py +0 -0
  63. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/spc.py +0 -0
  64. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/spt.py +0 -0
  65. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/deal/strz.py +0 -0
  66. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/exp.py +0 -0
  67. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/item.py +0 -0
  68. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/mg.py +0 -0
  69. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/loader/pos.py +0 -0
  70. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/mapz.py +0 -0
  71. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/test_write.py +0 -0
  72. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/base.py +0 -0
  73. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/conf.py +0 -0
  74. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/deal/jsonval.py +0 -0
  75. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/deal/listz.py +0 -0
  76. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/deal/mapz.py +0 -0
  77. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/deal/reval.py +0 -0
  78. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/deal/strz.py +0 -0
  79. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/itemz.py +0 -0
  80. {buildz-0.3.4 → buildz-0.3.5}/buildz/xf/writer/mg.py +0 -0
  81. {buildz-0.3.4 → buildz-0.3.5}/buildz.egg-info/dependency_links.txt +0 -0
  82. {buildz-0.3.4 → buildz-0.3.5}/buildz.egg-info/top_level.txt +0 -0
  83. {buildz-0.3.4 → buildz-0.3.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.3.4
3
+ Version: 0.3.5
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
@@ -17,6 +17,9 @@ s=r"""
17
17
  c:d
18
18
  url:"http://test.com.cn"
19
19
  }
20
+ # test
21
+ hehe: <"1", i>
22
+ nill: <,nil>
20
23
  }
21
24
  """
22
25
  rst = xf.loads(s)
@@ -30,7 +30,7 @@ s = r"""
30
30
  def test():
31
31
  obj = xfz.loads(s)
32
32
  obj = xf.loads(s)
33
- rs = xf.dumps(obj,format=0,deep=0,json_format=1)
33
+ rs = xf.dumps(obj,format=1,deep=1,json_format=1)
34
34
  print(obj)
35
35
  print(json.dumps(obj))
36
36
  print(rs)
@@ -9,7 +9,8 @@ class BaseDeal:
9
9
  return self._id
10
10
  def same(self, s, target):
11
11
  return self.like(s, target) == target
12
- def like(self, s, target):
12
+ @staticmethod
13
+ def like(s, target):
13
14
  if type(target) ==type(s):
14
15
  return s
15
16
  if type(s)==str:
@@ -0,0 +1,55 @@
1
+ from .. import base
2
+ from .. import item
3
+ from .. import exp
4
+ from . import lr
5
+ from . import reval
6
+ class Fcs:
7
+ def __init__(self):
8
+ self.maps = {}
9
+ def set(self, _type, fc):
10
+ self.maps[_type] = fc
11
+ def __call__(self, val, _type):
12
+ if _type not in self.maps:
13
+ raise Exception("unreginize type:"+_type)
14
+ return self.maps[_type](val)
15
+
16
+ pass
17
+
18
+
19
+ class LRValDeal(lr.LRDeal):
20
+ """
21
+ """
22
+ def init(self, left, right, fc):
23
+ self.sp().init(left, right, 'lrval')
24
+ self.fc = fc
25
+ def build(self, arr, l_item):
26
+ rst = []
27
+ if len(arr)!=2:
28
+ raise exp.FormatExp("format error find in lrval:", l_item.pos, l_item.val)
29
+ for _item in arr:
30
+ if not _item.check(is_val = 1):
31
+ raise exp.FormatExp("format error find in list:", _item.pos, _item.val)
32
+ rst.append(_item.val)
33
+ try:
34
+ val = self.fc(rst[0], rst[1])
35
+ except Exception as exp1:
36
+ print("exp:", exp1)
37
+ raise exp.FormatExp("error in lrval fc:\""+str(exp1)+"\"", arr[0].pos, arr[0].val)
38
+ return item.DealItem(val, l_item.pos, self.id(), is_val = 1, is_lrval = 1)
39
+
40
+ pass
41
+
42
+ class LRReValDeal(reval.ValDeal):
43
+ """
44
+ """
45
+ def efc(self, val):
46
+ arr = val.split(self.like(self.spt, val))
47
+ val, _type = arr
48
+ return self._fc(val, _type)
49
+ def init(self, spt, fc):
50
+ self.spt = spt
51
+ self._fc = fc
52
+ pt = "^.+\s*\\"+spt+"\s*.+$"
53
+ self.sp().init(pt, self.efc)
54
+
55
+ pass
@@ -28,7 +28,11 @@ class ValDeal(base.BaseDeal):
28
28
  pt = self.like(self.pt, val)
29
29
  if re.match(pt, val) is None:
30
30
  return False
31
- val = self.fc(val)
31
+ try:
32
+ val = self.fc(val)
33
+ except Exception as exp1:
34
+ print("exp:", exp1)
35
+ raise exp.FormatExp("error in reval fc:\""+str(exp1)+"\"", _item.pos, _item.val)
32
36
  queue.pop(0)
33
37
  out_item = item.DealItem(val, _item.pos, self.id(), is_val = 1)
34
38
  stack.append(out_item)
@@ -1,8 +1,34 @@
1
1
 
2
2
  from .loader import mg, buffer
3
3
 
4
- from .loader.deal import nextz, spt, strz, listz, spc, setz, mapz, reval
4
+ from .loader.deal import nextz, spt, strz, listz, spc, setz, mapz, reval, lrval
5
+ def bl(val):
6
+ trues = [BaseDeal.like(k, val) for k in ["true", "True", "1"]]
7
+ trues += [1,True]
8
+ falses = [BaseDeal.like(k, val) for k in ["false", "False", "0"]]
9
+ falses += [0,False]
10
+ if val in trues:
11
+ return True
12
+ elif val in falses:
13
+ return False
14
+ else:
15
+ raise Exception("unknown bool val")
5
16
 
17
+ pass
18
+ def build_lrval(mgs):
19
+ fcs = lrval.Fcs()
20
+ fcs.set("float", float)
21
+ fcs.set("f", float)
22
+ fcs.set("int", int)
23
+ fcs.set("i", int)
24
+ fcs.set("bool", bl)
25
+ fcs.set("bl", bl)
26
+ fcs.set("null", lambda x:None)
27
+ fcs.set("nil", lambda x:None)
28
+ fcs.set("n", lambda x:None)
29
+ mgs.add(lrval.LRValDeal("<",">",fcs))
30
+
31
+ pass
6
32
  def build_val(mgs):
7
33
  mgs.add(reval.ValDeal("[\+\-]?\d+", int))
8
34
  mgs.add(reval.ValDeal("[\+\-]?\d+\.\d+", float))
@@ -29,8 +55,12 @@ def build():
29
55
  mgs.add(strz.PrevStrDeal("'","'",1,0,1))
30
56
  mgs.add(strz.PrevStrDeal('"','"',1,0,1))
31
57
  mgs.add(setz.SetDeal(':'))
58
+ mgs.add(setz.SetDeal('='))
32
59
  mgs.add(spt.PrevSptDeal(',',1))
60
+ mgs.add(spt.PrevSptDeal(';',1))
33
61
  mgs.add(spt.PrevSptDeal('\n'))
62
+ build_lrval(mgs)
63
+ mgs.add(listz.ListDeal("(", ")"))
34
64
  mgs.add(listz.ListDeal("[", "]"))
35
65
  mgs.add(mapz.MapDeal("{", "}"))
36
66
  mgs.add(nextz.PrevNextDeal())
@@ -29,7 +29,7 @@ def dumps(obj, bytes = 0, format = 0, deep = 0, json_format= 0):
29
29
  cf = conf.Conf()
30
30
  cf.set(bytes=0, format=format, deep=deep)
31
31
  if format:
32
- cf.set(set=1, prev=0,line=4, spc=' ')
32
+ cf.set(set=1, prev=1,line=4, spc=' ')
33
33
  else:
34
34
  cf.set(set=1, prev=1)
35
35
  mgs = build(json_format)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.3.4
3
+ Version: 0.3.5
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
@@ -49,6 +49,11 @@ buildz/xf/mapz.py
49
49
  buildz/xf/read.py
50
50
  buildz/xf/test_write.py
51
51
  buildz/xf/write.py
52
+ buildz/xf/__pycache__/__init__.cpython-311.pyc
53
+ buildz/xf/__pycache__/file.cpython-311.pyc
54
+ buildz/xf/__pycache__/mapz.cpython-311.pyc
55
+ buildz/xf/__pycache__/read.cpython-311.pyc
56
+ buildz/xf/__pycache__/write.cpython-311.pyc
52
57
  buildz/xf/loader/base.py
53
58
  buildz/xf/loader/buffer.py
54
59
  buildz/xf/loader/exp.py
@@ -57,6 +62,7 @@ buildz/xf/loader/mg.py
57
62
  buildz/xf/loader/pos.py
58
63
  buildz/xf/loader/deal/listz.py
59
64
  buildz/xf/loader/deal/lr.py
65
+ buildz/xf/loader/deal/lrval.py
60
66
  buildz/xf/loader/deal/mapz.py
61
67
  buildz/xf/loader/deal/nextz.py
62
68
  buildz/xf/loader/deal/reval.py
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
7
7
 
8
8
  setup(
9
9
  name = 'buildz',
10
- version = '0.3.4',
10
+ version = '0.3.5',
11
11
  keywords='buildz',
12
12
  long_description=open('README.md', 'r', encoding="utf-8").read(),
13
13
  long_description_content_type='text/markdown',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes