1"""Utilities to get elements of generated spec""" 2 3from apispec.utils import build_reference 4 5 6def get_schemas(spec): 7 if spec.openapi_version.major < 3: 8 return spec.to_dict()["definitions"] 9 return spec.to_dict()["components"]["schemas"] 10 11 12def get_responses(spec): 13 if spec.openapi_version.major < 3: 14 return spec.to_dict()["responses"] 15 return spec.to_dict()["components"]["responses"] 16 17 18def get_parameters(spec): 19 if spec.openapi_version.major < 3: 20 return spec.to_dict()["parameters"] 21 return spec.to_dict()["components"]["parameters"] 22 23 24def get_headers(spec): 25 if spec.openapi_version.major < 3: 26 return spec.to_dict()["headers"] 27 return spec.to_dict()["components"]["headers"] 28 29 30def get_examples(spec): 31 return spec.to_dict()["components"]["examples"] 32 33 34def get_security_schemes(spec): 35 if spec.openapi_version.major < 3: 36 return spec.to_dict()["securityDefinitions"] 37 return spec.to_dict()["components"]["securitySchemes"] 38 39 40def get_paths(spec): 41 return spec.to_dict()["paths"] 42 43 44def build_ref(spec, component_type, obj): 45 return build_reference(component_type, spec.openapi_version.major, obj) 46