diff --git a/exoscale/api/generator.py b/exoscale/api/generator.py index 91ad1e1..d6829f2 100644 --- a/exoscale/api/generator.py +++ b/exoscale/api/generator.py @@ -52,8 +52,7 @@ def _get_ref(api_spec, path): } -def _return_docstring(api_spec, operation): - [status_code] = operation["responses"].keys() +def _status_code_docstring(api_spec, operation, status_code): [ctype] = operation["responses"][status_code]["content"].keys() return_schema = operation["responses"][status_code]["content"][ctype][ "schema" @@ -96,6 +95,17 @@ def _return_docstring(api_spec, operation): return doc +def _return_docstring(api_spec, operation): + status_codes_docs = [ + "{status_code}: {ret_type}".format( + status_code=status_code, + ret_type=_status_code_docstring(api_spec, operation, status_code), + ) + for status_code in operation["responses"].keys() + ] + + return "\n ".join(status_codes_docs) + class BaseClient: _api_spec = None _by_operation = None