167 resource_api.name = re.sub(
'\..*',
'',
168 os.path.basename(resource_api.path))
170 resource_api.name_caps = resource_api.name.upper()
171 resource_api.name_title = resource_api.name.capitalize()
172 resource_api.c_name =
snakify(resource_api.name)
174 if resource_api.api_declaration:
176 for api
in resource_api.api_declaration.apis:
177 segment = resource_api.root_path.get_child(api.path.split(
'/'))
178 for operation
in api.operations:
179 segment.operations.append(operation)
180 api.full_name = segment.full_name
184 if resource_api.root_path.num_children() != 1:
186 "Should not mix resources in one API declaration", context)
188 resource_api.root_path = list(resource_api.root_path.children())[0]
189 if resource_api.name != resource_api.root_path.name:
191 "API declaration name should match", context)
192 resource_api.root_full_name = resource_api.root_path.full_name
199 operation.c_nickname =
snakify(operation.nickname)
200 operation.c_http_method =
'AST_HTTP_' + operation.http_method
201 if not operation.summary.endswith(
"."):
202 raise SwaggerError(
"Summary should end with .", context)
203 operation.wiki_summary =
wikify(operation.summary
or "")
204 operation.wiki_notes =
wikify(operation.notes
or "")
205 for error_response
in operation.error_responses:
206 error_response.wiki_reason =
wikify(error_response.reason
or "")
207 operation.parse_body = (operation.body_parameter
or operation.has_query_parameters)
and True
210 if parameter.param_type ==
'body':
211 parameter.is_body_parameter =
True;
212 parameter.c_data_type =
'struct ast_json *'
214 parameter.is_body_parameter =
False;
217 "Invalid parameter type %s" % parameter.data_type, context)
219 parameter.c_data_type = self.
type_mapping[parameter.data_type]
224 parameter.c_name =
snakify(parameter.name)
226 if parameter.c_data_type.endswith(
'*'):
227 parameter.c_space =
''
229 parameter.c_space =
' '
230 parameter.wiki_description =
wikify(parameter.description)
231 if parameter.allowable_values:
232 parameter.wiki_allowable_values = parameter.allowable_values.to_wiki()
234 parameter.wiki_allowable_values =
None