@darabonba/python-generator 2.0.4 → 2.0.6

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 (111) hide show
  1. package/ChangeLog.md +8 -1
  2. package/lib/generator.js +120 -80
  3. package/package.json +1 -1
  4. package/tests/expected/annotation/tea_python_tests/models/_test.py +5 -4
  5. package/tests/expected/comment/tea_python_tests/models/_test_1.py +15 -4
  6. package/tests/expected/comment/tea_python_tests/models/_test_2.py +7 -4
  7. package/tests/expected/comment/tea_python_tests/models/_test_3.py +7 -4
  8. package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +1 -1
  9. package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  10. package/tests/expected/complex/tea_python_tests/models/_complex_request.py +85 -63
  11. package/tests/expected/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
  12. package/tests/expected/complex/tea_python_tests/models/_complex_request_header.py +5 -4
  13. package/tests/expected/complex/tea_python_tests/models/_complex_request_part.py +5 -4
  14. package/tests/expected/complex/tea_python_tests/models/_response.py +5 -4
  15. package/tests/expected/model/tea_python_tests/exceptions/_main_file.py +1 -1
  16. package/tests/expected/model/tea_python_tests/models/_class.py +2 -3
  17. package/tests/expected/model/tea_python_tests/models/_m.py +3 -4
  18. package/tests/expected/model/tea_python_tests/models/_main_file_model.py +5 -4
  19. package/tests/expected/model/tea_python_tests/models/_main_file_model_model.py +5 -4
  20. package/tests/expected/model/tea_python_tests/models/_model.py +5 -4
  21. package/tests/expected/model/tea_python_tests/models/_msub_m.py +2 -3
  22. package/tests/expected/model/tea_python_tests/models/_my_model.py +216 -74
  23. package/tests/expected/model/tea_python_tests/models/_my_model_model.py +5 -4
  24. package/tests/expected/model/tea_python_tests/models/_my_model_model_model.py +5 -4
  25. package/tests/expected/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
  26. package/tests/expected/model/tea_python_tests/models/_my_model_submodel.py +5 -4
  27. package/tests/expected/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
  28. package/tests/expected/modelConfig/tea_python_tests/__init__.py +1 -0
  29. package/tests/expected/modelConfig/tea_python_tests/client.py +10 -0
  30. package/tests/expected/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
  31. package/tests/expected/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
  32. package/tests/expected/modelConfig/tea_python_tests/models/__init__.py +33 -0
  33. package/tests/expected/modelConfig/tea_python_tests/models/_class.py +23 -0
  34. package/tests/expected/modelConfig/tea_python_tests/models/_m.py +37 -0
  35. package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
  36. package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
  37. package/tests/expected/modelConfig/tea_python_tests/models/_model.py +33 -0
  38. package/tests/expected/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
  39. package/tests/expected/modelConfig/tea_python_tests/models/_my_model.py +600 -0
  40. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
  41. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
  42. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
  43. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
  44. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
  45. package/tests/expected/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
  46. package/tests/expected/multi/tea_python_tests/exceptions/_err.py +2 -2
  47. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  48. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  49. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  50. package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
  51. package/tests/expected/multi/tea_python_tests/model/user_models/_info.py +7 -4
  52. package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +12 -8
  53. package/tests/expected/typedef/tea_python_tests/models/_m.py +7 -4
  54. package/tests/fixtures/model/main.dara +4 -0
  55. package/tests/fixtures/modelConfig/.libraries.json +3 -0
  56. package/tests/fixtures/modelConfig/Darafile +13 -0
  57. package/tests/fixtures/modelConfig/libraries/Darafile +20 -0
  58. package/tests/fixtures/modelConfig/libraries/import.dara +27 -0
  59. package/tests/fixtures/modelConfig/main.dara +81 -0
  60. package/tests/main.tests.js +18 -0
  61. package/tests/output/annotation/tea_python_tests/models/_test.py +5 -4
  62. package/tests/output/comment/tea_python_tests/models/_test_1.py +15 -4
  63. package/tests/output/comment/tea_python_tests/models/_test_2.py +7 -4
  64. package/tests/output/comment/tea_python_tests/models/_test_3.py +7 -4
  65. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +1 -1
  66. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  67. package/tests/output/complex/tea_python_tests/models/_complex_request.py +85 -63
  68. package/tests/output/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
  69. package/tests/output/complex/tea_python_tests/models/_complex_request_header.py +5 -4
  70. package/tests/output/complex/tea_python_tests/models/_complex_request_part.py +5 -4
  71. package/tests/output/complex/tea_python_tests/models/_response.py +5 -4
  72. package/tests/output/model/tea_python_tests/exceptions/_main_file.py +1 -1
  73. package/tests/output/model/tea_python_tests/models/_class.py +2 -3
  74. package/tests/output/model/tea_python_tests/models/_m.py +3 -4
  75. package/tests/output/model/tea_python_tests/models/_main_file_model.py +5 -4
  76. package/tests/output/model/tea_python_tests/models/_main_file_model_model.py +5 -4
  77. package/tests/output/model/tea_python_tests/models/_model.py +5 -4
  78. package/tests/output/model/tea_python_tests/models/_msub_m.py +2 -3
  79. package/tests/output/model/tea_python_tests/models/_my_model.py +216 -74
  80. package/tests/output/model/tea_python_tests/models/_my_model_model.py +5 -4
  81. package/tests/output/model/tea_python_tests/models/_my_model_model_model.py +5 -4
  82. package/tests/output/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
  83. package/tests/output/model/tea_python_tests/models/_my_model_submodel.py +5 -4
  84. package/tests/output/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
  85. package/tests/output/modelConfig/setup.py +77 -0
  86. package/tests/output/modelConfig/tea_python_tests/__init__.py +1 -0
  87. package/tests/output/modelConfig/tea_python_tests/client.py +10 -0
  88. package/tests/output/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
  89. package/tests/output/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
  90. package/tests/output/modelConfig/tea_python_tests/models/__init__.py +33 -0
  91. package/tests/output/modelConfig/tea_python_tests/models/_class.py +23 -0
  92. package/tests/output/modelConfig/tea_python_tests/models/_m.py +37 -0
  93. package/tests/output/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
  94. package/tests/output/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
  95. package/tests/output/modelConfig/tea_python_tests/models/_model.py +33 -0
  96. package/tests/output/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
  97. package/tests/output/modelConfig/tea_python_tests/models/_my_model.py +600 -0
  98. package/tests/output/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
  99. package/tests/output/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
  100. package/tests/output/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
  101. package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
  102. package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
  103. package/tests/output/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
  104. package/tests/output/multi/tea_python_tests/exceptions/_err.py +2 -2
  105. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  106. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  107. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  108. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
  109. package/tests/output/multi/tea_python_tests/model/user_models/_info.py +7 -4
  110. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +12 -8
  111. package/tests/output/typedef/tea_python_tests/models/_m.py +7 -4
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+ from darabonba.model import DaraModel
5
+ from tea_python_tests import models as main_models
6
+
7
+
8
+ class MyModelSubmodel(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ stringfield: str = None,
12
+ model: main_models.MyModelSubmodelModel = None,
13
+ ):
14
+ self.stringfield = stringfield
15
+ self.model = model
16
+
17
+ def validate(self):
18
+ self.validate_required(self.stringfield, 'stringfield')
19
+ self.validate_required(self.model, 'model')
20
+ if self.model:
21
+ self.model.validate()
22
+
23
+ def to_map(self):
24
+ result = dict()
25
+ _map = super().to_map()
26
+ if _map is not None:
27
+ result = _map
28
+ if self.stringfield is not None:
29
+ result['stringfield'] = self.stringfield
30
+
31
+ if self.model is not None:
32
+ result['model'] = self.model.to_map()
33
+
34
+ return result
35
+
36
+ def from_map(self, m: dict = None):
37
+ m = m or dict()
38
+ if m.get('stringfield') is not None:
39
+ self.stringfield = m.get('stringfield')
40
+
41
+ if m.get('model') is not None:
42
+ temp_model = main_models.MyModelSubmodelModel()
43
+ self.model = temp_model.from_map(m.get('model'))
44
+
45
+ return self
46
+
@@ -0,0 +1,33 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+ from darabonba.model import DaraModel
5
+
6
+
7
+ class MyModelSubmodelModel(DaraModel):
8
+ def __init__(
9
+ self, *,
10
+ str: str = None,
11
+ ):
12
+ self.str = str
13
+
14
+ def validate(self):
15
+ self.validate_required(self.str, 'str')
16
+
17
+ def to_map(self):
18
+ result = dict()
19
+ _map = super().to_map()
20
+ if _map is not None:
21
+ result = _map
22
+ if self.str is not None:
23
+ result['str'] = self.str
24
+
25
+ return result
26
+
27
+ def from_map(self, m: dict = None):
28
+ m = m or dict()
29
+ if m.get('str') is not None:
30
+ self.str = m.get('str')
31
+
32
+ return self
33
+
@@ -8,7 +8,7 @@ from darabonba.model import DaraModel
8
8
 
9
9
  class TestModelDir2(DaraModel):
10
10
  def __init__(
11
- self, *,
11
+ self,
12
12
  test: int = None,
13
13
  ):
14
14
  self.test = test
@@ -17,18 +17,19 @@ class TestModelDir2(DaraModel):
17
17
  self.validate_required(self.test, 'test')
18
18
 
19
19
  def to_map(self):
20
+ result = dict()
20
21
  _map = super().to_map()
21
22
  if _map is not None:
22
- return _map
23
-
24
- result = dict()
23
+ result = _map
25
24
  if self.test is not None:
26
25
  result['test'] = self.test
26
+
27
27
  return result
28
28
 
29
29
  def from_map(self, m: dict = None):
30
30
  m = m or dict()
31
31
  if m.get('test') is not None:
32
32
  self.test = m.get('test')
33
+
33
34
  return self
34
35
 
@@ -6,7 +6,7 @@ from darabonba.exceptions import DaraException
6
6
 
7
7
  class ERRException(DaraException):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  message: str = None,
11
11
  code: str = None,
12
12
  stack: str = None,
@@ -22,7 +22,7 @@ class ERRException(DaraException):
22
22
 
23
23
  class ErrException(DaraException):
24
24
  def __init__(
25
- self, *,
25
+ self,
26
26
  message: str = None,
27
27
  code: str = None,
28
28
  stack: str = None,
@@ -6,7 +6,7 @@ from darabonba.exceptions import DaraException
6
6
 
7
7
  class ErrException(DaraException):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  message: str = None,
11
11
  code: str = None,
12
12
  stack: str = None,
@@ -6,7 +6,7 @@ from tea_python_tests import user_exceptions as main_exceptions
6
6
 
7
7
  class Err1Exception(main_exceptions.BaseInfoException):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  max_attemp: int = None,
11
11
  autoretry: bool = None,
12
12
  ignore_ssl: bool = None,
@@ -6,7 +6,7 @@ from tea_python_tests import user_exceptions as main_exceptions
6
6
 
7
7
  class Err2Exception(main_exceptions.ErrException):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  msg: str = None,
11
11
  msg_2: str = None,
12
12
  ):
@@ -8,7 +8,7 @@ from alibabacloud_tea_util import models as darautil_models
8
8
 
9
9
  class BaseInfo(darautil_models.RuntimeOptions):
10
10
  def __init__(
11
- self, *,
11
+ self,
12
12
  autoretry: bool = None,
13
13
  ignore_ssl: bool = None,
14
14
  key: str = None,
@@ -55,18 +55,19 @@ class BaseInfo(darautil_models.RuntimeOptions):
55
55
  self.validate_required(self.max_attemp, 'max_attemp')
56
56
 
57
57
  def to_map(self):
58
+ result = dict()
58
59
  _map = super().to_map()
59
60
  if _map is not None:
60
- return _map
61
-
62
- result = dict()
61
+ result = _map
63
62
  if self.max_attemp is not None:
64
63
  result['maxAttemp'] = self.max_attemp
64
+
65
65
  return result
66
66
 
67
67
  def from_map(self, m: dict = None):
68
68
  m = m or dict()
69
69
  if m.get('maxAttemp') is not None:
70
70
  self.max_attemp = m.get('maxAttemp')
71
+
71
72
  return self
72
73
 
@@ -6,7 +6,7 @@ from tea_python_tests import user_models as main_models
6
6
 
7
7
  class Info(main_models.BaseInfo):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  max_attemp: int = None,
11
11
  autoretry: bool = None,
12
12
  ignore_ssl: bool = None,
@@ -58,22 +58,25 @@ class Info(main_models.BaseInfo):
58
58
  self.validate_required(self.age, 'age')
59
59
 
60
60
  def to_map(self):
61
+ result = dict()
61
62
  _map = super().to_map()
62
63
  if _map is not None:
63
- return _map
64
-
65
- result = dict()
64
+ result = _map
66
65
  if self.name is not None:
67
66
  result['name'] = self.name
67
+
68
68
  if self.age is not None:
69
69
  result['age'] = self.age
70
+
70
71
  return result
71
72
 
72
73
  def from_map(self, m: dict = None):
73
74
  m = m or dict()
74
75
  if m.get('name') is not None:
75
76
  self.name = m.get('name')
77
+
76
78
  if m.get('age') is not None:
77
79
  self.age = m.get('age')
80
+
78
81
  return self
79
82
 
@@ -8,7 +8,7 @@ from typing import Any
8
8
 
9
9
  class TestModelDIR(DaraModel):
10
10
  def __init__(
11
- self, *,
11
+ self,
12
12
  test: str = None,
13
13
  a: Any = None,
14
14
  ):
@@ -20,30 +20,33 @@ class TestModelDIR(DaraModel):
20
20
  self.validate_required(self.a, 'a')
21
21
 
22
22
  def to_map(self):
23
+ result = dict()
23
24
  _map = super().to_map()
24
25
  if _map is not None:
25
- return _map
26
-
27
- result = dict()
26
+ result = _map
28
27
  if self.test is not None:
29
28
  result['test'] = self.test
29
+
30
30
  if self.a is not None:
31
31
  result['a'] = self.a
32
+
32
33
  return result
33
34
 
34
35
  def from_map(self, m: dict = None):
35
36
  m = m or dict()
36
37
  if m.get('test') is not None:
37
38
  self.test = m.get('test')
39
+
38
40
  if m.get('a') is not None:
39
41
  self.a = m.get('a')
42
+
40
43
  return self
41
44
 
42
45
 
43
46
 
44
47
  class TestModelDir(DaraModel):
45
48
  def __init__(
46
- self, *,
49
+ self,
47
50
  test: int = None,
48
51
  m: user_models.Info = None,
49
52
  ):
@@ -55,13 +58,13 @@ class TestModelDir(DaraModel):
55
58
  self.validate_required(self.m, 'm')
56
59
 
57
60
  def to_map(self):
61
+ result = dict()
58
62
  _map = super().to_map()
59
63
  if _map is not None:
60
- return _map
61
-
62
- result = dict()
64
+ result = _map
63
65
  if self.test is not None:
64
66
  result['test'] = self.test
67
+
65
68
  if self.m is not None:
66
69
  result['m'] = self.m.to_map()
67
70
 
@@ -71,6 +74,7 @@ class TestModelDir(DaraModel):
71
74
  m = m or dict()
72
75
  if m.get('test') is not None:
73
76
  self.test = m.get('test')
77
+
74
78
  if m.get('m') is not None:
75
79
  temp_model = user_models.Info()
76
80
  self.m = temp_model.from_map(m.get('m'))
@@ -10,7 +10,7 @@ from Tea.model import TeaModel
10
10
 
11
11
  class M(DaraModel):
12
12
  def __init__(
13
- self, *,
13
+ self,
14
14
  a: Request = None,
15
15
  b: TeaModel = None,
16
16
  ):
@@ -21,22 +21,25 @@ class M(DaraModel):
21
21
  pass
22
22
 
23
23
  def to_map(self):
24
+ result = dict()
24
25
  _map = super().to_map()
25
26
  if _map is not None:
26
- return _map
27
-
28
- result = dict()
27
+ result = _map
29
28
  if self.a is not None:
30
29
  result['a'] = self.a
30
+
31
31
  if self.b is not None:
32
32
  result['b'] = self.b
33
+
33
34
  return result
34
35
 
35
36
  def from_map(self, m: dict = None):
36
37
  m = m or dict()
37
38
  if m.get('a') is not None:
38
39
  self.a = m.get('a')
40
+
39
41
  if m.get('b') is not None:
40
42
  self.b = m.get('b')
43
+
41
44
  return self
42
45