@darabonba/python-generator 2.0.4 → 2.0.5

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 +5 -1
  2. package/lib/generator.js +118 -78
  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
@@ -6,7 +6,7 @@ from darabonba.model import DaraModel
6
6
 
7
7
  class MyModelSubmodelModel(DaraModel):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  str: str = None,
11
11
  ):
12
12
  self.str = str
@@ -15,18 +15,19 @@ class MyModelSubmodelModel(DaraModel):
15
15
  self.validate_required(self.str, 'str')
16
16
 
17
17
  def to_map(self):
18
+ result = dict()
18
19
  _map = super().to_map()
19
20
  if _map is not None:
20
- return _map
21
-
22
- result = dict()
21
+ result = _map
23
22
  if self.str is not None:
24
23
  result['str'] = self.str
24
+
25
25
  return result
26
26
 
27
27
  def from_map(self, m: dict = None):
28
28
  m = m or dict()
29
29
  if m.get('str') is not None:
30
30
  self.str = m.get('str')
31
+
31
32
  return self
32
33
 
@@ -0,0 +1 @@
1
+ __version__ = "1.0.0"
@@ -0,0 +1,10 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+
6
+
7
+ class Client:
8
+
9
+ def __init__(self):
10
+ pass
@@ -0,0 +1,11 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+
6
+
7
+ from ._main_file import MainFileException
8
+
9
+ __all__ = [
10
+ MainFileException
11
+ ]
@@ -0,0 +1,28 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+ from darabonba.exceptions import DaraException
5
+ from tea_python_tests import models as main_models
6
+ from typing import Dict
7
+
8
+
9
+ class MainFileException(DaraException):
10
+ def __init__(
11
+ self, *,
12
+ message: str = None,
13
+ code: str = None,
14
+ stack: str = None,
15
+ size: int = None,
16
+ data: Dict[str, main_models.Model] = None,
17
+ model: main_models.MainFileModel = None,
18
+ ):
19
+ super().__init__({
20
+ 'message': message,
21
+ 'code': code,
22
+ 'stack': stack,
23
+ })
24
+ self.name = 'MainFileException'
25
+ self.size = size
26
+ self.data = data
27
+ self.model = model
28
+
@@ -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
+
5
+
6
+
7
+ from ._msub_m import MSubM
8
+ from ._main_file_model_model import MainFileModelModel
9
+ from ._main_file_model import MainFileModel
10
+ from ._my_model_model_model import MyModelModelModel
11
+ from ._my_model_model import MyModelModel
12
+ from ._my_model_submodel_model import MyModelSubmodelModel
13
+ from ._my_model_submodel import MyModelSubmodel
14
+ from ._my_model_subarraymodel import MyModelSubarraymodel
15
+ from ._m import M
16
+ from ._class import Class
17
+ from ._model import Model
18
+ from ._my_model import MyModel
19
+
20
+ __all__ = [
21
+ MSubM,
22
+ MainFileModelModel,
23
+ MainFileModel,
24
+ MyModelModelModel,
25
+ MyModelModel,
26
+ MyModelSubmodelModel,
27
+ MyModelSubmodel,
28
+ MyModelSubarraymodel,
29
+ M,
30
+ Class,
31
+ Model,
32
+ MyModel
33
+ ]
@@ -0,0 +1,23 @@
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 Class(DaraModel):
8
+ def __init__(self):
9
+ pass
10
+ def validate(self):
11
+ pass
12
+
13
+ def to_map(self):
14
+ result = dict()
15
+ _map = super().to_map()
16
+ if _map is not None:
17
+ result = _map
18
+ return result
19
+
20
+ def from_map(self, m: dict = None):
21
+ m = m or dict()
22
+ return self
23
+
@@ -0,0 +1,37 @@
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 M(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ sub_m: main_models.MSubM = None,
12
+ ):
13
+ self.sub_m = sub_m
14
+
15
+ def validate(self):
16
+ self.validate_required(self.sub_m, 'sub_m')
17
+ if self.sub_m:
18
+ self.sub_m.validate()
19
+
20
+ def to_map(self):
21
+ result = dict()
22
+ _map = super().to_map()
23
+ if _map is not None:
24
+ result = _map
25
+ if self.sub_m is not None:
26
+ result['subM'] = self.sub_m.to_map()
27
+
28
+ return result
29
+
30
+ def from_map(self, m: dict = None):
31
+ m = m or dict()
32
+ if m.get('subM') is not None:
33
+ temp_model = main_models.MSubM()
34
+ self.sub_m = temp_model.from_map(m.get('subM'))
35
+
36
+ return self
37
+
@@ -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 MainFileModel(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ str: str = None,
12
+ model: main_models.MainFileModelModel = None,
13
+ ):
14
+ self.str = str
15
+ self.model = model
16
+
17
+ def validate(self):
18
+ self.validate_required(self.str, 'str')
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.str is not None:
29
+ result['str'] = self.str
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('str') is not None:
39
+ self.str = m.get('str')
40
+
41
+ if m.get('model') is not None:
42
+ temp_model = main_models.MainFileModelModel()
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 MainFileModelModel(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
+
@@ -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 Model(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
+
@@ -0,0 +1,25 @@
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
+
8
+
9
+ class MSubM(DaraModel):
10
+ def __init__(self):
11
+ pass
12
+ def validate(self):
13
+ pass
14
+
15
+ def to_map(self):
16
+ result = dict()
17
+ _map = super().to_map()
18
+ if _map is not None:
19
+ result = _map
20
+ return result
21
+
22
+ def from_map(self, m: dict = None):
23
+ m = m or dict()
24
+ return self
25
+