public class PythonClientCodegen extends AbstractPythonCodegen
| Modifier and Type | Field and Description |
|---|---|
protected String |
apiDocPath |
static String |
DEFAULT_LIBRARY |
protected CodegenIgnoreProcessor |
ignoreProcessor |
protected String |
modelDocPath |
static String |
PACKAGE_URL |
protected String |
packageUrl |
static String |
RECURSION_LIMIT |
protected Map<Character,String> |
regexModifiers |
protected TemplateProcessor |
templateProcessor |
static String |
USE_INLINE_MODEL_RESOLVER |
static String |
USE_NOSE |
protected boolean |
useInlineModelResolver |
protected boolean |
useNose |
packageName, packageVersion, projectNameadditionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, addSchemaImportsFromV3SpecLocations, addSuffixToDuplicateOperationNicknames, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, DefaultFeatureSet, defaultIncludes, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, enumUnknownDefaultCase, enumUnknownDefaultCaseName, falseSchema, filesMetadataFilename, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importBaseType, importContainerType, importMapping, inlineSchemaNameDefault, inlineSchemaNameMapping, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, loadDeepObjectIntoItems, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, openapiNormalizer, outputFolder, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, schemaMapping, serverVariables, skipOperationExample, skipOverwrite, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, trueSchema, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions, versionMetadataFilename| Constructor and Description |
|---|
PythonClientCodegen() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel,
io.swagger.v3.oas.models.media.Schema schema)
Handle the model for the 'additionalProperties' keyword in the OAS schema.
|
protected void |
addBodyModelSchema(CodegenParameter codegenParameter,
String name,
io.swagger.v3.oas.models.media.Schema schema,
Set<String> imports,
String bodyParameterName,
boolean forceSimpleRef)
Adds the body model schema to the body parameter
We have a custom version of this method so we can flip forceSimpleRef
to True based upon the results of unaliasSchema
With this customization, we ensure that when schemas are passed to getSchemaType
- if they have ref in them they are a model
- if they do not have ref in them they are not a model
and code is also customized to allow anyType request body schemas
|
void |
addOperationToGroup(String tag,
String resourcePath,
io.swagger.v3.oas.models.Operation operation,
CodegenOperation co,
Map<String,List<CodegenOperation>> operations)
Custom version of this method to prevent mutation of
codegenOperation.operationIdLowerCase/operationIdSnakeCase
Property Usages:
- operationId: endpoint method name when using tagged apis
- httpMethod: endpoint method name when using path apis
- operationIdCamelCase: Api class name containing single endpoint for tagged apis
- operationIdLowerCase: (smuggled) path enum variable name
- nickname: (smuggled) path module name for path apis
- operationIdSnakeCase: (smuggled) path Api class name when using path apis
|
protected void |
addParentContainer(CodegenModel model,
String name,
io.swagger.v3.oas.models.media.Schema schema)
Sets the value of the 'model.parent' property in CodegenModel
We have a custom version of this function so we can add the dataType on the ArrayModel
|
String |
addRegularExpressionDelimiter(String pattern)
If the pattern misses the delimiter, add "/" to the beginning and end
Otherwise, return the original pattern
|
protected void |
addVarsRequiredVarsAdditionalProps(io.swagger.v3.oas.models.media.Schema schema,
IJsonSchemaValidationProperties property) |
String |
apiDocFileFolder() |
String |
apiFileFolder() |
String |
apiFilename(String templateName,
String tag) |
String |
apiTestFileFolder() |
protected List<Map<String,Object>> |
buildEnumVars(List<Object> values,
String dataType) |
String |
defaultTemplatingEngine() |
String |
filenameFromRoot(List<String> pathSegments) |
CodegenParameter |
fromFormProperty(String name,
io.swagger.v3.oas.models.media.Schema propertySchema,
Set<String> imports)
Create a CodegenParameter for a Form Property
We have a custom version of this method so we can invoke
setParameterExampleValue(codegenParameter, parameter)
rather than setParameterExampleValue(codegenParameter)
This ensures that all of our samples are generated in
toExampleValueRecursive
|
CodegenModel |
fromModel(String name,
io.swagger.v3.oas.models.media.Schema sc)
Convert OAS Model object to Codegen Model object
We have a custom version of this method so we can:
- set the correct regex values for requiredVars + optionalVars
- set model.defaultValue and model.hasRequired per the three use cases defined in this method
|
CodegenOperation |
fromOperation(String path,
String httpMethod,
io.swagger.v3.oas.models.Operation operation,
List<io.swagger.v3.oas.models.servers.Server> servers)
Custom version of this method so we can move the body parameter into bodyParam
|
CodegenParameter |
fromParameter(io.swagger.v3.oas.models.parameters.Parameter parameter,
Set<String> imports)
Convert OAS Parameter object to Codegen Parameter object
|
CodegenProperty |
fromProperty(String name,
io.swagger.v3.oas.models.media.Schema p,
boolean required,
boolean schemaIsFromAdditionalProperties)
Convert OAS Property object to Codegen Property object
We have a custom version of this method to always set allowableValues.enumVars on all enum variables
Together with unaliasSchema this sets primitive types with validations as models
This method is used by fromResponse
|
CodegenParameter |
fromRequestBody(io.swagger.v3.oas.models.parameters.RequestBody body,
Set<String> imports,
String bodyParameterName)
We have a custom version of this method to produce links to models when they are
primitive type (not map, not array, not object) and include validations or are enums
|
List<CodegenParameter> |
fromRequestBodyToFormParameters(io.swagger.v3.oas.models.parameters.RequestBody body,
Set<String> imports)
A custom version of this method is needed to ensure that the form object parameter is kept as-is
as an object and is not exploded into separate parameters
|
protected void |
generateEndpoints(OperationsMap objs) |
String |
generatePackageName(String packageName)
Generate Python package name from String `packageName`
|
String |
generatorLanguageVersion() |
String |
getHelp() |
protected String |
getItemsName(io.swagger.v3.oas.models.media.Schema containingSchema,
String containingSchemaName) |
String |
getModelName(io.swagger.v3.oas.models.media.Schema sc) |
protected Map<String,io.swagger.v3.oas.models.media.Schema> |
getModelNameToSchemaCache()
Return a map from model name to Schema for efficient lookup.
|
String |
getName()
Configures a friendly name for the generator.
|
protected Object |
getObjectExample(io.swagger.v3.oas.models.media.Schema sc)
Gets an example if it exists
|
String |
getSchemaType(io.swagger.v3.oas.models.media.Schema schema)
Returns the python type for the property.
|
CodegenType |
getTag() |
String |
getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Output the type declaration of a given name
|
boolean |
getUseInlineModelResolver() |
protected String |
handleSpecialCharacters(String value) |
boolean |
isDataTypeString(String dataType)
checks if the data should be classified as "string" in enum
e.g.
|
String |
modelDocFileFolder() |
String |
modelFileFolder() |
String |
modelTestFileFolder() |
String |
packageFilename(List<String> pathSegments) |
String |
packagePath() |
void |
postProcess() |
Map<String,ModelsMap> |
postProcessAllModels(Map<String,ModelsMap> objs)
Override with special post-processing for all models.
|
ModelsMap |
postProcessModels(ModelsMap objs) |
OperationsMap |
postProcessOperationsWithModels(OperationsMap objs,
List<ModelMap> allModels) |
void |
postProcessParameter(CodegenParameter p) |
void |
postProcessPattern(String pattern,
Map<String,Object> vendorExtensions) |
Map<String,Object> |
postProcessSupportingFileData(Map<String,Object> objs) |
void |
preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI) |
void |
processOpts() |
protected File |
processTemplateToFile(Map<String,Object> templateData,
String templateName,
String outputFilename,
boolean shouldGenerate,
String skippedByOption) |
protected Object |
processTestExampleData(Object value)
A method that allows generators to pre-process test example payloads
This can be useful if one needs to change how values like null in string are represented
|
String |
pythonDate(Object dateValue) |
String |
pythonDateTime(Object dateTimeValue) |
String |
sanitizeTag(String tag)
Note: a custom version of this function is used so the original tag value can be used
|
protected void |
setAddProps(io.swagger.v3.oas.models.media.Schema schema,
IJsonSchemaValidationProperties property)
Use cases:
additional properties is unset: do nothing
additional properties is true: add definition to property
additional properties is false: add definition to property
additional properties is schema: add definition to property
|
void |
setPackageUrl(String packageUrl) |
void |
setParameterExampleValue(CodegenParameter codegenParameter,
io.swagger.v3.oas.models.parameters.Parameter parameter)
Set the codegenParameter example value
We have a custom version of this function so we can invoke toExampleValue
|
void |
setParameterExampleValue(CodegenParameter codegenParameter,
io.swagger.v3.oas.models.parameters.RequestBody requestBody)
Return the example value of the parameter.
|
void |
setUseInlineModelResolver(String val) |
void |
setUseNose(String val) |
String |
toApiDocFilename(String name)
Return the file name of the Api Documentation
|
String |
toApiName(String name)
Output the API (class) name (capitalized) ending with the specified or default suffix
Return DefaultApi if name is empty
|
String |
toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
Return the default value of the property
|
String |
toEnumVarName(String value,
String datatype)
Return the sanitized variable name for enum
|
String |
toExampleValue(io.swagger.v3.oas.models.media.Schema schema)
Return the example value of the property
|
String |
toExampleValue(io.swagger.v3.oas.models.media.Schema schema,
Object objExample) |
String |
toInstantiationType(io.swagger.v3.oas.models.media.Schema property)
Return the instantiation type of the property, especially for map and array
|
String |
toModelDocFilename(String name)
Return the capitalized file name of the model documentation
|
String |
toModelImport(String name)
Return the fully-qualified "Model" name for import
|
String |
toRegularExpression(String pattern)
Return the regular expression/JSON schema pattern (http://json-schema.org/latest/json-schema-validation.html#anchor33)
|
protected String |
toTestCaseName(String specTestCaseName) |
io.swagger.v3.oas.models.media.Schema |
unaliasSchema(io.swagger.v3.oas.models.media.Schema schema) |
void |
updateCodegenPropertyEnum(CodegenProperty var)
Update codegen property's enum by adding "enumVars" (with name and value)
|
protected void |
updateModelForAnyType(CodegenModel m,
io.swagger.v3.oas.models.media.Schema schema) |
protected void |
updateModelForComposedSchema(CodegenModel m,
io.swagger.v3.oas.models.media.Schema schema,
Map<String,io.swagger.v3.oas.models.media.Schema> allDefinitions) |
protected void |
updateModelForInteger(CodegenModel model,
io.swagger.v3.oas.models.media.Schema schema) |
protected void |
updateModelForNumber(CodegenModel model,
io.swagger.v3.oas.models.media.Schema schema) |
protected void |
updateModelForObject(CodegenModel m,
io.swagger.v3.oas.models.media.Schema schema) |
protected void |
updateModelForString(CodegenModel model,
io.swagger.v3.oas.models.media.Schema schema)
Sets the booleans that define the model's type
|
protected void |
updatePropertyForAnyType(CodegenProperty property,
io.swagger.v3.oas.models.media.Schema p) |
protected void |
updatePropertyForArray(CodegenProperty property,
CodegenProperty innerProperty)
Update property for array(list) container
|
protected void |
updatePropertyForInteger(CodegenProperty property,
io.swagger.v3.oas.models.media.Schema p) |
protected void |
updatePropertyForNumber(CodegenProperty property,
io.swagger.v3.oas.models.media.Schema p) |
protected void |
updatePropertyForObject(CodegenProperty property,
io.swagger.v3.oas.models.media.Schema p) |
protected void |
updatePropertyForString(CodegenProperty property,
io.swagger.v3.oas.models.media.Schema p) |
dropDots, escapeQuotationMark, escapeReservedWord, escapeUnsafeCharacters, generatorLanguage, patternCorrection, postProcessFile, setPackageName, setPackageVersion, setParameterExampleValue, setProjectName, toApiFilename, toApiTestFilename, toApiVarName, toModelFilename, toModelName, toModelTestFilename, toOperationId, toParamName, toVarNameaddHeaders, addImport, addImport, addImport, addImports, addImports, addImports, addImportsForPropertyType, addImportsToOneOfInterface, additionalProperties, addMustacheLambdas, addOneOfInterfaceModel, addOneOfNameExtension, addOption, addProperties, addRequiredVarsMap, addSwitch, addVars, addVars, apiDocFilename, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, createDiscriminator, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromProperty, fromProperty, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAdditionalProperties, getAdditionalPropertiesName, getAddSuffixToDuplicateOperationNicknames, getAlias, getAllModels, getAllOfDescendants, getAllowUnicodeIdentifiers, getApiNamePrefix, getApiNameSuffix, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnsureUniqueParams, getEnumDefaultValue, getEnumUnknownDefaultCase, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getMostInnerItems, getOneOfAnyOfDescendants, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getRemoveOperationIdPrefixCount, getRemoveOperationIdPrefixDelimiter, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSchemaItems, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSupportedVendorExtensions, getSymbolName, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getUseOneOfInterfaces, getUseOpenAPINormalizer, getVersionMetadataFilename, handleMethodResponse, handleMethodResponse, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameDefault, inlineSchemaNameMapping, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isEnableMinimalUpdate, isEnablePostProcessFile, isFreeFormObject, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isReservedWord, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, lowerCamelCase, modelDocTemplateFiles, modelFilename, modelPackage, modelTemplateFiles, modelTestTemplateFiles, modifyFeatureSet, needToImport, openapiNormalizer, outputFolder, postProcessModelProperty, postProcessModelsEnum, processCompiler, processOpenAPI, processTemplatingEngine, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, schemaMapping, serverVariableOverrides, setAllowUnicodeIdentifiers, setApiNamePrefix, setApiNameSuffix, setApiPackage, setCircularReferences, setDisallowAdditionalPropertiesIfNotPresent, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setEnumUnknownDefaultCase, setFilesMetadataFilename, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLegacyDiscriminatorBehavior, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterNullable, setPrependFormOrBodyParameters, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setRemoveOperationIdPrefixCount, setRemoveOperationIdPrefixDelimiter, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, setUseOneOfInterfaces, setVersionMetadataFilename, shouldAddImport, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toAllOfName, toAnyOfName, toApiImport, toArrayModelParamName, toBooleanGetter, toDefaultParameterValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toExamples, toGetter, toMediaTypeSchemaName, toModelImportMap, toOneOfName, toSetter, typeMapping, unaliasPropertySchema, updateAllModels, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateOption, updateParameterForString, updatePropertyForMap, updatePropertyForMap, updateRequestBodyForArray, updateRequestBodyForMap, updateRequestBodyForObject, updateRequestBodyForPrimitiveType, updateRequestBodyForString, vendorExtensions, writePropertyBackclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadditionalProperties, apiDocFilename, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getAddSuffixToDuplicateOperationNicknames, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getSupportedVendorExtensions, getTemplatingEngine, getTypeDeclaration, getUseOpenAPINormalizer, getVersionMetadataFilename, importMapping, inlineSchemaNameDefault, inlineSchemaNameMapping, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openapiNormalizer, outputFolder, postProcessModelProperty, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, schemaMapping, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setSkipOperationExample, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiImport, toBooleanGetter, toGetter, toModelImportMap, toSetter, typeMapping, updateAllModels, vendorExtensionspublic static final String PACKAGE_URL
public static final String DEFAULT_LIBRARY
public static final String USE_NOSE
public static final String RECURSION_LIMIT
public static final String USE_INLINE_MODEL_RESOLVER
protected String packageUrl
protected String apiDocPath
protected String modelDocPath
protected boolean useNose
protected boolean useInlineModelResolver
protected CodegenIgnoreProcessor ignoreProcessor
protected TemplateProcessor templateProcessor
public void processOpts()
processOpts in interface CodegenConfigprocessOpts in class AbstractPythonCodegenprotected File processTemplateToFile(Map<String,Object> templateData, String templateName, String outputFilename, boolean shouldGenerate, String skippedByOption) throws IOException
IOExceptionpublic String apiFilename(String templateName, String tag)
apiFilename in interface CodegenConfigapiFilename in class DefaultCodegenpublic String toApiName(String name)
DefaultCodegentoApiName in interface CodegenConfigtoApiName in class AbstractPythonCodegenname - the name of the Apiprotected void generateEndpoints(OperationsMap objs)
protected void addVarsRequiredVarsAdditionalProps(io.swagger.v3.oas.models.media.Schema schema,
IJsonSchemaValidationProperties property)
addVarsRequiredVarsAdditionalProps in class DefaultCodegenpublic String getName()
getName in interface CodegenConfiggetName in class DefaultCodegenpublic String getHelp()
getHelp in interface CodegenConfiggetHelp in class DefaultCodegenpublic io.swagger.v3.oas.models.media.Schema unaliasSchema(io.swagger.v3.oas.models.media.Schema schema)
unaliasSchema in interface CodegenConfigunaliasSchema in class DefaultCodegenpublic String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
toDefaultValue in class AbstractPythonCodegenp - OpenAPI property objectpublic String toModelImport(String name)
DefaultCodegentoModelImport in interface CodegenConfigtoModelImport in class DefaultCodegenname - the name of the "Model"public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)
postProcessOperationsWithModels in interface CodegenConfigpostProcessOperationsWithModels in class DefaultCodegenpublic Map<String,ModelsMap> postProcessAllModels(Map<String,ModelsMap> objs)
postProcessAllModels in interface CodegenConfigpostProcessAllModels in class DefaultCodegenobjs - a map going from the model name to a object holding the model infopublic CodegenParameter fromParameter(io.swagger.v3.oas.models.parameters.Parameter parameter, Set<String> imports)
DefaultCodegenfromParameter in class DefaultCodegenparameter - OAS parameter objectimports - set of imports for library/package/modulepublic CodegenProperty fromProperty(String name, io.swagger.v3.oas.models.media.Schema p, boolean required, boolean schemaIsFromAdditionalProperties)
fromProperty in class DefaultCodegenname - name of the propertyp - OAS property schemarequired - true if the property is required in the next higher object schema, false otherwiseschemaIsFromAdditionalProperties - true if the property is defined by additional properties schemapublic boolean isDataTypeString(String dataType)
isDataTypeString in class DefaultCodegendataType - data typeprotected String getItemsName(io.swagger.v3.oas.models.media.Schema containingSchema, String containingSchemaName)
getItemsName in class DefaultCodegenpublic void updateCodegenPropertyEnum(CodegenProperty var)
updateCodegenPropertyEnum in class DefaultCodegenvar - list of CodegenPropertypublic CodegenParameter fromRequestBody(io.swagger.v3.oas.models.parameters.RequestBody body, Set<String> imports, String bodyParameterName)
fromRequestBody in class DefaultCodegenbody - request bodyimports - import collectionbodyParameterName - body parameter nameprotected void addBodyModelSchema(CodegenParameter codegenParameter, String name, io.swagger.v3.oas.models.media.Schema schema, Set<String> imports, String bodyParameterName, boolean forceSimpleRef)
addBodyModelSchema in class DefaultCodegencodegenParameter - the body parametername - model schema ref key in componentsschema - the model schema (not refed)imports - collection of importsbodyParameterName - body parameter nameforceSimpleRef - if true use a model referencepublic String toEnumVarName(String value, String datatype)
toEnumVarName in class DefaultCodegenvalue - enum variable namedatatype - data typeprotected List<Map<String,Object>> buildEnumVars(List<Object> values, String dataType)
buildEnumVars in class DefaultCodegenpublic void postProcessParameter(CodegenParameter p)
postProcessParameter in interface CodegenConfigpostProcessParameter in class DefaultCodegenprotected void addParentContainer(CodegenModel model, String name, io.swagger.v3.oas.models.media.Schema schema)
addParentContainer in class DefaultCodegenmodel - the codegen representation of the OAS schema.name - the name of the model.schema - the input OAS schema.protected String toTestCaseName(String specTestCaseName)
toTestCaseName in class DefaultCodegenprotected String handleSpecialCharacters(String value)
handleSpecialCharacters in class DefaultCodegenprotected Object processTestExampleData(Object value)
DefaultCodegenprocessTestExampleData in class DefaultCodegenvalue - the test data payloadpublic CodegenModel fromModel(String name, io.swagger.v3.oas.models.media.Schema sc)
fromModel in interface CodegenConfigfromModel in class DefaultCodegenname - the name of the modelsc - OAS Model objectpublic String getSchemaType(io.swagger.v3.oas.models.media.Schema schema)
getSchemaType in class AbstractPythonCodegenschema - property schemapublic String getModelName(io.swagger.v3.oas.models.media.Schema sc)
public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
getTypeDeclaration in interface CodegenConfiggetTypeDeclaration in class DefaultCodegenp - property schemapublic String toInstantiationType(io.swagger.v3.oas.models.media.Schema property)
DefaultCodegentoInstantiationType in class DefaultCodegenproperty - property schemaprotected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, io.swagger.v3.oas.models.media.Schema schema)
DefaultCodegenaddAdditionPropertiesToCodeGenModel in class DefaultCodegencodegenModel - The codegen representation of the schema.schema - The input OAS schema.protected Object getObjectExample(io.swagger.v3.oas.models.media.Schema sc)
sc - input schemapublic String toExampleValue(io.swagger.v3.oas.models.media.Schema schema)
DefaultCodegentoExampleValue in class AbstractPythonCodegenschema - Property schemapublic String toExampleValue(io.swagger.v3.oas.models.media.Schema schema, Object objExample)
public void setParameterExampleValue(CodegenParameter codegenParameter, io.swagger.v3.oas.models.parameters.Parameter parameter)
setParameterExampleValue in class AbstractPythonCodegencodegenParameter - the item we are setting the example onparameter - the base parameter that came from the specpublic void setParameterExampleValue(CodegenParameter codegenParameter, io.swagger.v3.oas.models.parameters.RequestBody requestBody)
setParameterExampleValue in class DefaultCodegencodegenParameter - Codegen parameterrequestBody - Request bodypublic CodegenParameter fromFormProperty(String name, io.swagger.v3.oas.models.media.Schema propertySchema, Set<String> imports)
fromFormProperty in class DefaultCodegenname - the property namepropertySchema - the property schemaimports - our import setprotected Map<String,io.swagger.v3.oas.models.media.Schema> getModelNameToSchemaCache()
getModelNameToSchemaCache in class DefaultCodegenprotected void setAddProps(io.swagger.v3.oas.models.media.Schema schema,
IJsonSchemaValidationProperties property)
setAddProps in class DefaultCodegenschema - the schema that may contain an additional property schemaproperty - the property for the above schemaprotected void updatePropertyForArray(CodegenProperty property, CodegenProperty innerProperty)
updatePropertyForArray in class DefaultCodegenproperty - Codegen propertyinnerProperty - Codegen inner property of map or listprotected void updateModelForString(CodegenModel model, io.swagger.v3.oas.models.media.Schema schema)
updateModelForString in class DefaultCodegenmodel - the model to updateschema - the model's schemaprotected void updateModelForNumber(CodegenModel model, io.swagger.v3.oas.models.media.Schema schema)
updateModelForNumber in class DefaultCodegenprotected void updateModelForInteger(CodegenModel model, io.swagger.v3.oas.models.media.Schema schema)
updateModelForInteger in class DefaultCodegenprotected void updatePropertyForString(CodegenProperty property, io.swagger.v3.oas.models.media.Schema p)
updatePropertyForString in class DefaultCodegenpublic String toRegularExpression(String pattern)
DefaultCodegentoRegularExpression in class AbstractPythonCodegenpattern - the pattern (regular expression)protected void updatePropertyForNumber(CodegenProperty property, io.swagger.v3.oas.models.media.Schema p)
updatePropertyForNumber in class DefaultCodegenprotected void updatePropertyForInteger(CodegenProperty property, io.swagger.v3.oas.models.media.Schema p)
updatePropertyForInteger in class DefaultCodegenprotected void updatePropertyForObject(CodegenProperty property, io.swagger.v3.oas.models.media.Schema p)
updatePropertyForObject in class DefaultCodegenprotected void updatePropertyForAnyType(CodegenProperty property, io.swagger.v3.oas.models.media.Schema p)
updatePropertyForAnyType in class DefaultCodegenprotected void updateModelForObject(CodegenModel m, io.swagger.v3.oas.models.media.Schema schema)
updateModelForObject in class DefaultCodegenprotected void updateModelForAnyType(CodegenModel m, io.swagger.v3.oas.models.media.Schema schema)
updateModelForAnyType in class DefaultCodegenprotected void updateModelForComposedSchema(CodegenModel m, io.swagger.v3.oas.models.media.Schema schema, Map<String,io.swagger.v3.oas.models.media.Schema> allDefinitions)
updateModelForComposedSchema in class DefaultCodegenpublic ModelsMap postProcessModels(ModelsMap objs)
postProcessModels in interface CodegenConfigpostProcessModels in class DefaultCodegenpublic void postProcessPattern(String pattern, Map<String,Object> vendorExtensions)
public CodegenType getTag()
getTag in interface CodegenConfiggetTag in class DefaultCodegenpublic String apiDocFileFolder()
apiDocFileFolder in interface CodegenConfigapiDocFileFolder in class DefaultCodegenpublic String modelDocFileFolder()
modelDocFileFolder in interface CodegenConfigmodelDocFileFolder in class DefaultCodegenpublic String toModelDocFilename(String name)
DefaultCodegentoModelDocFilename in interface CodegenConfigtoModelDocFilename in class DefaultCodegenname - the model namepublic String toApiDocFilename(String name)
DefaultCodegentoApiDocFilename in interface CodegenConfigtoApiDocFilename in class DefaultCodegenname - the file name of the Apipublic String addRegularExpressionDelimiter(String pattern)
DefaultCodegenaddRegularExpressionDelimiter in class DefaultCodegenpattern - the pattern (regular expression)public String apiFileFolder()
apiFileFolder in interface CodegenConfigapiFileFolder in class DefaultCodegenpublic String modelFileFolder()
modelFileFolder in interface CodegenConfigmodelFileFolder in class DefaultCodegenpublic String apiTestFileFolder()
apiTestFileFolder in interface CodegenConfigapiTestFileFolder in class DefaultCodegenpublic String modelTestFileFolder()
modelTestFileFolder in interface CodegenConfigmodelTestFileFolder in class DefaultCodegenpublic void setUseNose(String val)
public boolean getUseInlineModelResolver()
getUseInlineModelResolver in interface CodegenConfiggetUseInlineModelResolver in class DefaultCodegenpublic void setUseInlineModelResolver(String val)
public void setPackageUrl(String packageUrl)
public String packagePath()
public String generatePackageName(String packageName)
(PEP 0008) Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.
packageName - Package namepublic List<CodegenParameter> fromRequestBodyToFormParameters(io.swagger.v3.oas.models.parameters.RequestBody body, Set<String> imports)
fromRequestBodyToFormParameters in class DefaultCodegenbody - the body that is being handledimports - the imports for this bodypublic CodegenOperation fromOperation(String path, String httpMethod, io.swagger.v3.oas.models.Operation operation, List<io.swagger.v3.oas.models.servers.Server> servers)
fromOperation in interface CodegenConfigfromOperation in class DefaultCodegenpath - the path of the operationhttpMethod - HTTP methodoperation - OAS operation objectservers - list of serverspublic void addOperationToGroup(String tag, String resourcePath, io.swagger.v3.oas.models.Operation operation, CodegenOperation co, Map<String,List<CodegenOperation>> operations)
addOperationToGroup in interface CodegenConfigaddOperationToGroup in class DefaultCodegentag - name of the tagresourcePath - path of the resourceoperation - OAS Operation objectco - Codegen Operation objectoperations - map of Codegen operationspublic String defaultTemplatingEngine()
defaultTemplatingEngine in interface CodegenConfigdefaultTemplatingEngine in class DefaultCodegenpublic String generatorLanguageVersion()
generatorLanguageVersion in interface CodegenConfiggeneratorLanguageVersion in class DefaultCodegenpublic void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
preprocessOpenAPI in interface CodegenConfigpreprocessOpenAPI in class DefaultCodegenpublic String sanitizeTag(String tag)
sanitizeTag in interface CodegenConfigsanitizeTag in class AbstractPythonCodegentag - Tagpublic Map<String,Object> postProcessSupportingFileData(Map<String,Object> objs)
postProcessSupportingFileData in interface CodegenConfigpostProcessSupportingFileData in class DefaultCodegenpublic void postProcess()
postProcess in interface CodegenConfigpostProcess in class DefaultCodegenCopyright © 2023. All rights reserved.