touchdesigner-mcp-server 0.4.0-alpha.0 → 0.4.0-alpha.2

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 (82) hide show
  1. package/README.ja.md +4 -4
  2. package/README.md +4 -3
  3. package/dist/cli.js +0 -0
  4. package/dist/gen/endpoints/TouchDesignerAPI.js +1 -1
  5. package/dist/gen/mcp/touchDesignerAPI.zod.js +1 -1
  6. package/dist/index.js +0 -0
  7. package/dist/server/touchDesignerServer.js +1 -1
  8. package/package.json +14 -12
  9. package/td/genHandlers.js +0 -47
  10. package/td/import_modules.py +0 -52
  11. package/td/mcp_webserver_base.tox +0 -0
  12. package/td/modules/mcp/controllers/__init__.py +0 -9
  13. package/td/modules/mcp/controllers/api_controller.py +0 -637
  14. package/td/modules/mcp/controllers/generated_handlers.py +0 -365
  15. package/td/modules/mcp/controllers/openapi_router.py +0 -265
  16. package/td/modules/mcp/services/__init__.py +0 -8
  17. package/td/modules/mcp/services/api_service.py +0 -555
  18. package/td/modules/mcp_webserver_script.py +0 -134
  19. package/td/modules/td_server/.dockerignore +0 -72
  20. package/td/modules/td_server/.openapi-generator/FILES +0 -55
  21. package/td/modules/td_server/.openapi-generator/VERSION +0 -1
  22. package/td/modules/td_server/.openapi-generator-ignore +0 -23
  23. package/td/modules/td_server/.travis.yml +0 -14
  24. package/td/modules/td_server/Dockerfile +0 -16
  25. package/td/modules/td_server/README.md +0 -49
  26. package/td/modules/td_server/git_push.sh +0 -57
  27. package/td/modules/td_server/openapi_server/__init__.py +0 -0
  28. package/td/modules/td_server/openapi_server/__main__.py +0 -19
  29. package/td/modules/td_server/openapi_server/controllers/__init__.py +0 -0
  30. package/td/modules/td_server/openapi_server/controllers/default_controller.py +0 -162
  31. package/td/modules/td_server/openapi_server/controllers/security_controller.py +0 -2
  32. package/td/modules/td_server/openapi_server/encoder.py +0 -19
  33. package/td/modules/td_server/openapi_server/models/__init__.py +0 -33
  34. package/td/modules/td_server/openapi_server/models/base_model.py +0 -68
  35. package/td/modules/td_server/openapi_server/models/create_node200_response.py +0 -125
  36. package/td/modules/td_server/openapi_server/models/create_node200_response_data.py +0 -63
  37. package/td/modules/td_server/openapi_server/models/create_node_request.py +0 -123
  38. package/td/modules/td_server/openapi_server/models/delete_node200_response.py +0 -125
  39. package/td/modules/td_server/openapi_server/models/delete_node200_response_data.py +0 -91
  40. package/td/modules/td_server/openapi_server/models/exec_node_method200_response.py +0 -125
  41. package/td/modules/td_server/openapi_server/models/exec_node_method200_response_data.py +0 -65
  42. package/td/modules/td_server/openapi_server/models/exec_node_method_request.py +0 -153
  43. package/td/modules/td_server/openapi_server/models/exec_node_method_request_args_inner.py +0 -34
  44. package/td/modules/td_server/openapi_server/models/exec_python_script200_response.py +0 -125
  45. package/td/modules/td_server/openapi_server/models/exec_python_script200_response_data.py +0 -65
  46. package/td/modules/td_server/openapi_server/models/exec_python_script200_response_data_result.py +0 -63
  47. package/td/modules/td_server/openapi_server/models/exec_python_script_request.py +0 -65
  48. package/td/modules/td_server/openapi_server/models/get_node_detail200_response.py +0 -125
  49. package/td/modules/td_server/openapi_server/models/get_nodes200_response.py +0 -125
  50. package/td/modules/td_server/openapi_server/models/get_nodes200_response_data.py +0 -65
  51. package/td/modules/td_server/openapi_server/models/get_td_info200_response.py +0 -125
  52. package/td/modules/td_server/openapi_server/models/get_td_info200_response_data.py +0 -155
  53. package/td/modules/td_server/openapi_server/models/get_td_python_class_details200_response.py +0 -125
  54. package/td/modules/td_server/openapi_server/models/get_td_python_classes200_response.py +0 -125
  55. package/td/modules/td_server/openapi_server/models/get_td_python_classes200_response_data.py +0 -63
  56. package/td/modules/td_server/openapi_server/models/td_node.py +0 -175
  57. package/td/modules/td_server/openapi_server/models/td_node_family_type.py +0 -44
  58. package/td/modules/td_server/openapi_server/models/td_python_class_details.py +0 -191
  59. package/td/modules/td_server/openapi_server/models/td_python_class_info.py +0 -127
  60. package/td/modules/td_server/openapi_server/models/td_python_method_info.py +0 -121
  61. package/td/modules/td_server/openapi_server/models/td_python_property_info.py +0 -123
  62. package/td/modules/td_server/openapi_server/models/update_node200_response.py +0 -125
  63. package/td/modules/td_server/openapi_server/models/update_node200_response_data.py +0 -149
  64. package/td/modules/td_server/openapi_server/models/update_node200_response_data_failed_inner.py +0 -91
  65. package/td/modules/td_server/openapi_server/models/update_node_request.py +0 -93
  66. package/td/modules/td_server/openapi_server/openapi/openapi.yaml +0 -975
  67. package/td/modules/td_server/openapi_server/test/__init__.py +0 -16
  68. package/td/modules/td_server/openapi_server/test/test_default_controller.py +0 -201
  69. package/td/modules/td_server/openapi_server/typing_utils.py +0 -30
  70. package/td/modules/td_server/openapi_server/util.py +0 -147
  71. package/td/modules/td_server/requirements.txt +0 -13
  72. package/td/modules/td_server/setup.py +0 -37
  73. package/td/modules/td_server/test-requirements.txt +0 -4
  74. package/td/modules/td_server/tox.ini +0 -11
  75. package/td/modules/utils/config.py +0 -7
  76. package/td/modules/utils/error_handling.py +0 -104
  77. package/td/modules/utils/logging.py +0 -23
  78. package/td/modules/utils/result.py +0 -40
  79. package/td/modules/utils/serialization.py +0 -57
  80. package/td/modules/utils/types.py +0 -33
  81. package/td/modules/utils/utils_logging.py +0 -60
  82. package/td/templates/mcp/api_controller_handlers.mustache +0 -63
@@ -1,72 +0,0 @@
1
- .travis.yaml
2
- .openapi-generator-ignore
3
- README.md
4
- tox.ini
5
- git_push.sh
6
- test-requirements.txt
7
- setup.py
8
-
9
- # Byte-compiled / optimized / DLL files
10
- __pycache__/
11
- *.py[cod]
12
- *$py.class
13
-
14
- # C extensions
15
- *.so
16
-
17
- # Distribution / packaging
18
- .Python
19
- env/
20
- build/
21
- develop-eggs/
22
- dist/
23
- downloads/
24
- eggs/
25
- .eggs/
26
- lib/
27
- lib64/
28
- parts/
29
- sdist/
30
- var/
31
- *.egg-info/
32
- .installed.cfg
33
- *.egg
34
-
35
- # PyInstaller
36
- # Usually these files are written by a python script from a template
37
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
38
- *.manifest
39
- *.spec
40
-
41
- # Installer logs
42
- pip-log.txt
43
- pip-delete-this-directory.txt
44
-
45
- # Unit test / coverage reports
46
- htmlcov/
47
- .tox/
48
- .coverage
49
- .coverage.*
50
- .cache
51
- nosetests.xml
52
- coverage.xml
53
- *,cover
54
- .hypothesis/
55
- venv/
56
- .python-version
57
-
58
- # Translations
59
- *.mo
60
- *.pot
61
-
62
- # Django stuff:
63
- *.log
64
-
65
- # Sphinx documentation
66
- docs/_build/
67
-
68
- # PyBuilder
69
- target/
70
-
71
- #Ipython Notebook
72
- .ipynb_checkpoints
@@ -1,55 +0,0 @@
1
- .dockerignore
2
- .gitignore
3
- .openapi-generator-ignore
4
- .travis.yml
5
- Dockerfile
6
- README.md
7
- git_push.sh
8
- openapi_server/__init__.py
9
- openapi_server/__main__.py
10
- openapi_server/controllers/__init__.py
11
- openapi_server/controllers/default_controller.py
12
- openapi_server/controllers/security_controller.py
13
- openapi_server/encoder.py
14
- openapi_server/models/__init__.py
15
- openapi_server/models/base_model.py
16
- openapi_server/models/create_node200_response.py
17
- openapi_server/models/create_node200_response_data.py
18
- openapi_server/models/create_node_request.py
19
- openapi_server/models/delete_node200_response.py
20
- openapi_server/models/delete_node200_response_data.py
21
- openapi_server/models/exec_node_method200_response.py
22
- openapi_server/models/exec_node_method200_response_data.py
23
- openapi_server/models/exec_node_method_request.py
24
- openapi_server/models/exec_node_method_request_args_inner.py
25
- openapi_server/models/exec_python_script200_response.py
26
- openapi_server/models/exec_python_script200_response_data.py
27
- openapi_server/models/exec_python_script200_response_data_result.py
28
- openapi_server/models/exec_python_script_request.py
29
- openapi_server/models/get_node_detail200_response.py
30
- openapi_server/models/get_nodes200_response.py
31
- openapi_server/models/get_nodes200_response_data.py
32
- openapi_server/models/get_td_info200_response.py
33
- openapi_server/models/get_td_info200_response_data.py
34
- openapi_server/models/get_td_python_class_details200_response.py
35
- openapi_server/models/get_td_python_classes200_response.py
36
- openapi_server/models/get_td_python_classes200_response_data.py
37
- openapi_server/models/td_node.py
38
- openapi_server/models/td_node_family_type.py
39
- openapi_server/models/td_python_class_details.py
40
- openapi_server/models/td_python_class_info.py
41
- openapi_server/models/td_python_method_info.py
42
- openapi_server/models/td_python_property_info.py
43
- openapi_server/models/update_node200_response.py
44
- openapi_server/models/update_node200_response_data.py
45
- openapi_server/models/update_node200_response_data_failed_inner.py
46
- openapi_server/models/update_node_request.py
47
- openapi_server/openapi/openapi.yaml
48
- openapi_server/test/__init__.py
49
- openapi_server/test/test_default_controller.py
50
- openapi_server/typing_utils.py
51
- openapi_server/util.py
52
- requirements.txt
53
- setup.py
54
- test-requirements.txt
55
- tox.ini
@@ -1 +0,0 @@
1
- 7.13.0
@@ -1,23 +0,0 @@
1
- # OpenAPI Generator Ignore
2
- # Generated by openapi-generator https://github.com/openapitools/openapi-generator
3
-
4
- # Use this file to prevent files from being overwritten by the generator.
5
- # The patterns follow closely to .gitignore or .dockerignore.
6
-
7
- # As an example, the C# client generator defines ApiClient.cs.
8
- # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9
- #ApiClient.cs
10
-
11
- # You can match any string of characters against a directory, file or extension with a single asterisk (*):
12
- #foo/*/qux
13
- # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14
-
15
- # You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16
- #foo/**/qux
17
- # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18
-
19
- # You can also negate patterns with an exclamation (!).
20
- # For example, you can ignore all files in a docs folder with the file extension .md:
21
- #docs/*.md
22
- # Then explicitly reverse the ignore rule for a single file:
23
- #!docs/README.md
@@ -1,14 +0,0 @@
1
- # ref: https://docs.travis-ci.com/user/languages/python
2
- language: python
3
- python:
4
- - "3.2"
5
- - "3.3"
6
- - "3.4"
7
- - "3.5"
8
- - "3.6"
9
- - "3.7"
10
- - "3.8"
11
- # command to install dependencies
12
- install: "pip install -r requirements.txt"
13
- # command to run tests
14
- script: nosetests
@@ -1,16 +0,0 @@
1
- FROM python:3-alpine
2
-
3
- RUN mkdir -p /usr/src/app
4
- WORKDIR /usr/src/app
5
-
6
- COPY requirements.txt /usr/src/app/
7
-
8
- RUN pip3 install --no-cache-dir -r requirements.txt
9
-
10
- COPY . /usr/src/app
11
-
12
- EXPOSE 8080
13
-
14
- ENTRYPOINT ["python3"]
15
-
16
- CMD ["-m", "openapi_server"]
@@ -1,49 +0,0 @@
1
- # OpenAPI generated server
2
-
3
- ## Overview
4
- This server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the
5
- [OpenAPI-Spec](https://openapis.org) from a remote server, you can easily generate a server stub. This
6
- is an example of building a OpenAPI-enabled Flask server.
7
-
8
- This example uses the [Connexion](https://github.com/zalando/connexion) library on top of Flask.
9
-
10
- ## Requirements
11
- Python 3.5.2+
12
-
13
- ## Usage
14
- To run the server, please execute the following from the root directory:
15
-
16
- ```
17
- pip3 install -r requirements.txt
18
- python3 -m openapi_server
19
- ```
20
-
21
- and open your browser to here:
22
-
23
- ```
24
- http://localhost:8080/ui/
25
- ```
26
-
27
- Your OpenAPI definition lives here:
28
-
29
- ```
30
- http://localhost:8080/openapi.json
31
- ```
32
-
33
- To launch the integration tests, use tox:
34
- ```
35
- sudo pip install tox
36
- tox
37
- ```
38
-
39
- ## Running with Docker
40
-
41
- To run the server on a Docker container, please execute the following from the root directory:
42
-
43
- ```bash
44
- # building the image
45
- docker build -t openapi_server .
46
-
47
- # starting up a container
48
- docker run -p 8080:8080 openapi_server
49
- ```
@@ -1,57 +0,0 @@
1
- #!/bin/sh
2
- # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
3
- #
4
- # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
5
-
6
- git_user_id=$1
7
- git_repo_id=$2
8
- release_note=$3
9
- git_host=$4
10
-
11
- if [ "$git_host" = "" ]; then
12
- git_host="github.com"
13
- echo "[INFO] No command line input provided. Set \$git_host to $git_host"
14
- fi
15
-
16
- if [ "$git_user_id" = "" ]; then
17
- git_user_id="GIT_USER_ID"
18
- echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
19
- fi
20
-
21
- if [ "$git_repo_id" = "" ]; then
22
- git_repo_id="GIT_REPO_ID"
23
- echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
24
- fi
25
-
26
- if [ "$release_note" = "" ]; then
27
- release_note="Minor update"
28
- echo "[INFO] No command line input provided. Set \$release_note to $release_note"
29
- fi
30
-
31
- # Initialize the local directory as a Git repository
32
- git init
33
-
34
- # Adds the files in the local repository and stages them for commit.
35
- git add .
36
-
37
- # Commits the tracked changes and prepares them to be pushed to a remote repository.
38
- git commit -m "$release_note"
39
-
40
- # Sets the new remote
41
- git_remote=$(git remote)
42
- if [ "$git_remote" = "" ]; then # git remote not defined
43
-
44
- if [ "$GIT_TOKEN" = "" ]; then
45
- echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
46
- git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
47
- else
48
- git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
49
- fi
50
-
51
- fi
52
-
53
- git pull origin master
54
-
55
- # Pushes (Forces) the changes in the local repository up to the remote repository
56
- echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
57
- git push origin master 2>&1 | grep -v 'To https'
File without changes
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- import connexion
4
-
5
- from openapi_server import encoder
6
-
7
-
8
- def main():
9
- app = connexion.App(__name__, specification_dir='./openapi/')
10
- app.app.json_encoder = encoder.JSONEncoder
11
- app.add_api('openapi.yaml',
12
- arguments={'title': 'TouchDesigner API'},
13
- pythonic_params=True)
14
-
15
- app.run(port=8080)
16
-
17
-
18
- if __name__ == '__main__':
19
- main()
@@ -1,162 +0,0 @@
1
- import connexion
2
- from typing import Dict
3
- from typing import Tuple
4
- from typing import Union
5
-
6
- from openapi_server.models.create_node200_response import CreateNode200Response # noqa: E501
7
- from openapi_server.models.create_node_request import CreateNodeRequest # noqa: E501
8
- from openapi_server.models.delete_node200_response import DeleteNode200Response # noqa: E501
9
- from openapi_server.models.exec_node_method200_response import ExecNodeMethod200Response # noqa: E501
10
- from openapi_server.models.exec_node_method_request import ExecNodeMethodRequest # noqa: E501
11
- from openapi_server.models.exec_python_script200_response import ExecPythonScript200Response # noqa: E501
12
- from openapi_server.models.exec_python_script_request import ExecPythonScriptRequest # noqa: E501
13
- from openapi_server.models.get_node_detail200_response import GetNodeDetail200Response # noqa: E501
14
- from openapi_server.models.get_nodes200_response import GetNodes200Response # noqa: E501
15
- from openapi_server.models.get_td_info200_response import GetTdInfo200Response # noqa: E501
16
- from openapi_server.models.get_td_python_class_details200_response import GetTdPythonClassDetails200Response # noqa: E501
17
- from openapi_server.models.get_td_python_classes200_response import GetTdPythonClasses200Response # noqa: E501
18
- from openapi_server.models.update_node200_response import UpdateNode200Response # noqa: E501
19
- from openapi_server.models.update_node_request import UpdateNodeRequest # noqa: E501
20
- from openapi_server import util
21
-
22
-
23
- def create_node(body): # noqa: E501
24
- """Create a new node
25
-
26
- # noqa: E501
27
-
28
- :param create_node_request:
29
- :type create_node_request: dict | bytes
30
-
31
- :rtype: Union[CreateNode200Response, Tuple[CreateNode200Response, int], Tuple[CreateNode200Response, int, Dict[str, str]]
32
- """
33
- create_node_request = body
34
- if connexion.request.is_json:
35
- create_node_request = CreateNodeRequest.from_dict(connexion.request.get_json()) # noqa: E501
36
- return 'do some magic!'
37
-
38
-
39
- def delete_node(node_path): # noqa: E501
40
- """Delete an existing node
41
-
42
- # noqa: E501
43
-
44
- :param node_path: Path to the node to delete. e.g., \"/project1/geo1\"
45
- :type node_path: str
46
-
47
- :rtype: Union[DeleteNode200Response, Tuple[DeleteNode200Response, int], Tuple[DeleteNode200Response, int, Dict[str, str]]
48
- """
49
- return 'do some magic!'
50
-
51
-
52
- def exec_node_method(body): # noqa: E501
53
- """Call a method of the specified node
54
-
55
- Call a method on the node at the specified path (e.g., /project1). This allows operations equivalent to TouchDesigner's Python API such as `parent_comp = op('/project1')` and `parent_comp.create('textTOP', 'myText')`. # noqa: E501
56
-
57
- :param exec_node_method_request:
58
- :type exec_node_method_request: dict | bytes
59
-
60
- :rtype: Union[ExecNodeMethod200Response, Tuple[ExecNodeMethod200Response, int], Tuple[ExecNodeMethod200Response, int, Dict[str, str]]
61
- """
62
- exec_node_method_request = body
63
- if connexion.request.is_json:
64
- exec_node_method_request = ExecNodeMethodRequest.from_dict(connexion.request.get_json()) # noqa: E501
65
- return 'do some magic!'
66
-
67
-
68
- def exec_python_script(body): # noqa: E501
69
- """Execute python code on the server
70
-
71
- Execute a Python script directly in TouchDesigner. Multiline scripts and scripts containing comments are supported. The script can optionally set a `result` variable to explicitly return a value. This endpoint allows you to interact with TouchDesigner nodes programmatically. # noqa: E501
72
-
73
- :param exec_python_script_request:
74
- :type exec_python_script_request: dict | bytes
75
-
76
- :rtype: Union[ExecPythonScript200Response, Tuple[ExecPythonScript200Response, int], Tuple[ExecPythonScript200Response, int, Dict[str, str]]
77
- """
78
- exec_python_script_request = body
79
- if connexion.request.is_json:
80
- exec_python_script_request = ExecPythonScriptRequest.from_dict(connexion.request.get_json()) # noqa: E501
81
- return 'do some magic!'
82
-
83
-
84
- def get_node_detail(node_path): # noqa: E501
85
- """Get node detail
86
-
87
- Retrieves detailed information about a specific node including its properties, parameters and connections # noqa: E501
88
-
89
- :param node_path: Node path. e.g., \"/project1/textTOP\"
90
- :type node_path: str
91
-
92
- :rtype: Union[GetNodeDetail200Response, Tuple[GetNodeDetail200Response, int], Tuple[GetNodeDetail200Response, int, Dict[str, str]]
93
- """
94
- return 'do some magic!'
95
-
96
-
97
- def get_nodes(parent_path, pattern=None, include_properties=None): # noqa: E501
98
- """Get nodes in the path
99
-
100
- # noqa: E501
101
-
102
- :param parent_path: Parent path e.g., \"/project1\"
103
- :type parent_path: str
104
- :param pattern: Pattern to match against node names e.g., \"null*\"
105
- :type pattern: str
106
- :param include_properties: Whether to include full node properties in the response (default false for better performance)
107
- :type include_properties: bool
108
-
109
- :rtype: Union[GetNodes200Response, Tuple[GetNodes200Response, int], Tuple[GetNodes200Response, int, Dict[str, str]]
110
- """
111
- return 'do some magic!'
112
-
113
-
114
- def get_td_info(): # noqa: E501
115
- """Get TouchDesigner information
116
-
117
- Returns information about the TouchDesigner # noqa: E501
118
-
119
-
120
- :rtype: Union[GetTdInfo200Response, Tuple[GetTdInfo200Response, int], Tuple[GetTdInfo200Response, int, Dict[str, str]]
121
- """
122
- return 'do some magic!'
123
-
124
-
125
- def get_td_python_class_details(class_name): # noqa: E501
126
- """Get details of a specific Python class or module
127
-
128
- Returns detailed information about a specific Python class, module, or function including methods, properties, and documentation # noqa: E501
129
-
130
- :param class_name: Name of the class or module. e.g., \"textTOP\"
131
- :type class_name: str
132
-
133
- :rtype: Union[GetTdPythonClassDetails200Response, Tuple[GetTdPythonClassDetails200Response, int], Tuple[GetTdPythonClassDetails200Response, int, Dict[str, str]]
134
- """
135
- return 'do some magic!'
136
-
137
-
138
- def get_td_python_classes(): # noqa: E501
139
- """Get a list of Python classes and modules
140
-
141
- Returns a list of Python classes, modules, and functions available in TouchDesigner # noqa: E501
142
-
143
-
144
- :rtype: Union[GetTdPythonClasses200Response, Tuple[GetTdPythonClasses200Response, int], Tuple[GetTdPythonClasses200Response, int, Dict[str, str]]
145
- """
146
- return 'do some magic!'
147
-
148
-
149
- def update_node(body=None): # noqa: E501
150
- """Update node properties
151
-
152
- # noqa: E501
153
-
154
- :param update_node_request:
155
- :type update_node_request: dict | bytes
156
-
157
- :rtype: Union[UpdateNode200Response, Tuple[UpdateNode200Response, int], Tuple[UpdateNode200Response, int, Dict[str, str]]
158
- """
159
- update_node_request = body
160
- if connexion.request.is_json:
161
- update_node_request = UpdateNodeRequest.from_dict(connexion.request.get_json()) # noqa: E501
162
- return 'do some magic!'
@@ -1,2 +0,0 @@
1
- from typing import List
2
-
@@ -1,19 +0,0 @@
1
- from connexion.apps.flask_app import FlaskJSONEncoder
2
-
3
- from openapi_server.models.base_model import Model
4
-
5
-
6
- class JSONEncoder(FlaskJSONEncoder):
7
- include_nulls = False
8
-
9
- def default(self, o):
10
- if isinstance(o, Model):
11
- dikt = {}
12
- for attr in o.openapi_types:
13
- value = getattr(o, attr)
14
- if value is None and not self.include_nulls:
15
- continue
16
- attr = o.attribute_map[attr]
17
- dikt[attr] = value
18
- return dikt
19
- return FlaskJSONEncoder.default(self, o)
@@ -1,33 +0,0 @@
1
- # flake8: noqa
2
- # import models into model package
3
- from openapi_server.models.create_node200_response import CreateNode200Response
4
- from openapi_server.models.create_node200_response_data import CreateNode200ResponseData
5
- from openapi_server.models.create_node_request import CreateNodeRequest
6
- from openapi_server.models.delete_node200_response import DeleteNode200Response
7
- from openapi_server.models.delete_node200_response_data import DeleteNode200ResponseData
8
- from openapi_server.models.exec_node_method200_response import ExecNodeMethod200Response
9
- from openapi_server.models.exec_node_method200_response_data import ExecNodeMethod200ResponseData
10
- from openapi_server.models.exec_node_method_request import ExecNodeMethodRequest
11
- from openapi_server.models.exec_node_method_request_args_inner import ExecNodeMethodRequestArgsInner
12
- from openapi_server.models.exec_python_script200_response import ExecPythonScript200Response
13
- from openapi_server.models.exec_python_script200_response_data import ExecPythonScript200ResponseData
14
- from openapi_server.models.exec_python_script200_response_data_result import ExecPythonScript200ResponseDataResult
15
- from openapi_server.models.exec_python_script_request import ExecPythonScriptRequest
16
- from openapi_server.models.get_node_detail200_response import GetNodeDetail200Response
17
- from openapi_server.models.get_nodes200_response import GetNodes200Response
18
- from openapi_server.models.get_nodes200_response_data import GetNodes200ResponseData
19
- from openapi_server.models.get_td_info200_response import GetTdInfo200Response
20
- from openapi_server.models.get_td_info200_response_data import GetTdInfo200ResponseData
21
- from openapi_server.models.get_td_python_class_details200_response import GetTdPythonClassDetails200Response
22
- from openapi_server.models.get_td_python_classes200_response import GetTdPythonClasses200Response
23
- from openapi_server.models.get_td_python_classes200_response_data import GetTdPythonClasses200ResponseData
24
- from openapi_server.models.td_node import TdNode
25
- from openapi_server.models.td_node_family_type import TdNodeFamilyType
26
- from openapi_server.models.td_python_class_details import TdPythonClassDetails
27
- from openapi_server.models.td_python_class_info import TdPythonClassInfo
28
- from openapi_server.models.td_python_method_info import TdPythonMethodInfo
29
- from openapi_server.models.td_python_property_info import TdPythonPropertyInfo
30
- from openapi_server.models.update_node200_response import UpdateNode200Response
31
- from openapi_server.models.update_node200_response_data import UpdateNode200ResponseData
32
- from openapi_server.models.update_node200_response_data_failed_inner import UpdateNode200ResponseDataFailedInner
33
- from openapi_server.models.update_node_request import UpdateNodeRequest
@@ -1,68 +0,0 @@
1
- import pprint
2
-
3
- import typing
4
-
5
- from openapi_server import util
6
-
7
- T = typing.TypeVar('T')
8
-
9
-
10
- class Model:
11
- # openapiTypes: The key is attribute name and the
12
- # value is attribute type.
13
- openapi_types: typing.Dict[str, type] = {}
14
-
15
- # attributeMap: The key is attribute name and the
16
- # value is json key in definition.
17
- attribute_map: typing.Dict[str, str] = {}
18
-
19
- @classmethod
20
- def from_dict(cls: typing.Type[T], dikt) -> T:
21
- """Returns the dict as a model"""
22
- return util.deserialize_model(dikt, cls)
23
-
24
- def to_dict(self):
25
- """Returns the model properties as a dict
26
-
27
- :rtype: dict
28
- """
29
- result = {}
30
-
31
- for attr in self.openapi_types:
32
- value = getattr(self, attr)
33
- if isinstance(value, list):
34
- result[attr] = list(map(
35
- lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
36
- value
37
- ))
38
- elif hasattr(value, "to_dict"):
39
- result[attr] = value.to_dict()
40
- elif isinstance(value, dict):
41
- result[attr] = dict(map(
42
- lambda item: (item[0], item[1].to_dict())
43
- if hasattr(item[1], "to_dict") else item,
44
- value.items()
45
- ))
46
- else:
47
- result[attr] = value
48
-
49
- return result
50
-
51
- def to_str(self):
52
- """Returns the string representation of the model
53
-
54
- :rtype: str
55
- """
56
- return pprint.pformat(self.to_dict())
57
-
58
- def __repr__(self):
59
- """For `print` and `pprint`"""
60
- return self.to_str()
61
-
62
- def __eq__(self, other):
63
- """Returns true if both objects are equal"""
64
- return self.__dict__ == other.__dict__
65
-
66
- def __ne__(self, other):
67
- """Returns true if both objects are not equal"""
68
- return not self == other