Skip to content

Commit 447d3ce

Browse files
committed
add model_container to ApiParser response, which describes the GET/POST container name when using a model.
The ApiMutableControllerBase class contains a property named "$internalModelName", which describes the root of the container for http actions.
1 parent 6554af9 commit 447d3ce

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

lib/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class Controller(BaseModel):
2525
base_class: str | None
2626
filename: str
2727
model_filename: str | None
28+
model_container: str | None
2829

2930

3031
DEFAULT_BASE_METHODS = {
@@ -70,6 +71,7 @@ def __init__(self,filename: str,debug: bool=False):
7071
self.module_name = filename.replace('\\', '/').split('/')[-3].lower()
7172

7273
self.model_filename: str | None = None
74+
self.model_container: str | None = None
7375
self.is_abstract = False
7476
self.base_class: str | None = None
7577
self.api_commands: dict[str, Action] = {}
@@ -82,6 +84,8 @@ def _parse_class_variables(self, node):
8284
model_xml = "%s/models/%s.xml" % (app_location, class_name.replace("\\", "/"))
8385
if os.path.isfile(model_xml):
8486
self.model_filename = model_xml.replace('//', '/')
87+
elif node.nodes[-1].name == '$internalModelName':
88+
self.model_container = node.nodes[-1].initial
8589

8690
def _extract_ops(self, root):
8791
""" Rercursively dive into offered root node, used to extracts details from within methods
@@ -187,4 +191,5 @@ def parse_api_php(self) -> Controller:
187191
base_class=self.base_class,
188192
filename=self.base_filename,
189193
model_filename=self.model_filename,
194+
model_container=self.model_container,
190195
)

0 commit comments

Comments
 (0)