Package io.swagger.codegen.languages
Class PythonClientCodegen
- java.lang.Object
-
- io.swagger.codegen.DefaultCodegen
-
- io.swagger.codegen.languages.PythonClientCodegen
-
- All Implemented Interfaces:
CodegenConfig
public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
-
-
Field Summary
Fields Modifier and Type Field Description protected String
apiDocPath
static String
CAMEL_CASE_OPTION
static String
CASE_OPTION
protected String
caseType
static String
DEFAULT_LIBRARY
static String
KEBAB_CASE_OPTION
protected String
modelDocPath
static String
PACKAGE_URL
protected String
packageName
protected String
packageUrl
protected String
packageVersion
protected String
projectName
protected Map<Character,String>
regexModifiers
static String
SNAKE_CASE_OPTION
static String
WRITE_BINARY_OPTION
-
Fields inherited from class io.swagger.codegen.DefaultCodegen
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoBaseURL, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, ignoreImportMapping, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, LOGGER, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, skipAliasGeneration, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions
-
-
Constructor Summary
Constructors Constructor Description PythonClientCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
apiDocFileFolder()
String
apiFileFolder()
String
apiTestFileFolder()
String
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injectionString
escapeReservedWord(String name)
Return the escaped name of the reserved wordString
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe characters so as to avoid code injectionString
generatePackageName(String packageName)
Generate Python package name from String `packageName` (PEP 0008) Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.String
getHelp()
String
getName()
String
getSwaggerType(io.swagger.models.properties.Property p)
returns the swagger type for the propertyCodegenType
getTag()
String
getTypeDeclaration(io.swagger.models.properties.Property p)
Output the type declaration of the propertyString
modelDocFileFolder()
String
modelFileFolder()
String
modelTestFileFolder()
void
postProcessModelProperty(CodegenModel model, CodegenProperty property)
Map<String,Object>
postProcessModels(Map<String,Object> objs)
void
postProcessParameter(CodegenParameter parameter)
void
postProcessPattern(String pattern, Map<String,Object> vendorExtensions)
void
processOpts()
String
sanitizeTag(String tag)
Sanitize tagprotected void
setCaseType()
void
setPackageName(String packageName)
void
setPackageUrl(String packageUrl)
void
setPackageVersion(String packageVersion)
void
setParameterExampleValue(CodegenParameter p)
Return the example value of the parameter.void
setProjectName(String projectName)
String
toApiDocFilename(String name)
Return the file name of the Api DocumentationString
toApiFilename(String name)
Return the file name of the Api TestString
toApiName(String name)
Output the API (class) name (capitalized) ending with "Api" Return DefaultApi if name is emptyString
toApiTestFilename(String name)
Return the file name of the Api TestString
toApiVarName(String name)
Return the variable name in the ApiString
toDefaultValue(io.swagger.models.properties.Property p)
Return the default value of the propertyString
toInstantiationType(io.swagger.models.properties.Property p)
Return the instantiation type of the property, especially for map and arrayString
toModelDocFilename(String name)
Return the capitalized file name of the model documentationString
toModelFilename(String name)
Return the capitalized file name of the modelString
toModelImport(String name)
Return the fully-qualified "Model" name for importString
toModelName(String name)
Output the proper model name (capitalized).String
toModelTestFilename(String name)
Return the capitalized file name of the model testString
toOperationId(String operationId)
Return the operation ID (method name)String
toParamName(String name)
Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.String
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if it's a reserved word.-
Methods inherited from class io.swagger.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addImport, additionalProperties, addOperationToGroup, addOption, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configureDataForTestTemplate, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIgnoreImportMappingOption, defaultIncludes, embeddedTemplateDir, ensureUniqueName, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fixUpParentAndInterfaces, fromModel, fromModel, fromOperation, fromOperation, fromParameter, fromProperty, fromResponse, fromSecurity, generateExamplePath, getAlias, getAllAliases, getCommonTemplateDir, getExamples, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInnerEnumAllowableValues, getInputSpec, getLibrary, getOrGenerateOperationId, getOutputDir, getParameterDataType, getReleaseNote, getSkipAliasGeneration, getSymbolName, getterAndSetterCapitalize, getTypeDeclaration, importMapping, initalizeSpecialCharacterMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isHideGenerationTimestamp, isModelObject, isPrimivite, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, isUsingFlattenSpec, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelPackage, modelTemplateFiles, modelTestTemplateFiles, needToImport, outputFolder, postProcessAllModels, postProcessModelProperties, postProcessModelsEnum, postProcessOperations, postProcessOperationsWithModels, postProcessSupportingFileData, preprocessSwagger, processCompiler, processSwagger, readRefModelParameter, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipAliasGeneration, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, titleCase, toApiImport, toBooleanGetter, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toEnumVarName, toExamples, toExampleValue, toGetter, toRegularExpression, toSetter, typeMapping, underscore, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBack
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.swagger.codegen.CodegenConfig
additionalProperties, addOperationToGroup, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIgnoreImportMappingOption, defaultIncludes, embeddedTemplateDir, escapeText, fileSuffix, fromModel, fromModel, fromOperation, fromOperation, fromSecurity, generateExamplePath, getCodeName, getCommonTemplateDir, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInputSpec, getLibrary, getOutputDir, getPriority, getReleaseNote, getSkipAliasGeneration, getTypeDeclaration, importMapping, instantiationTypes, isHideGenerationTimestamp, isPrivileged, isRemoveOperationIdPrefix, isSkipOverwrite, isUsingFlattenSpec, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessOperations, postProcessOperationsWithModels, postProcessSupportingFileData, preprocessSwagger, processCompiler, processSwagger, reservedWords, reservedWordsMappings, sanitizeName, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setLibrary, setOutputDir, setReleaseNote, setRemoveOperationIdPrefix, setSkipAliasGeneration, setSkipOverwrite, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiImport, toBooleanGetter, toGetter, toSetter, typeMapping, vendorExtensions
-
-
-
-
Field Detail
-
PACKAGE_URL
public static final String PACKAGE_URL
- See Also:
- Constant Field Values
-
DEFAULT_LIBRARY
public static final String DEFAULT_LIBRARY
- See Also:
- Constant Field Values
-
WRITE_BINARY_OPTION
public static final String WRITE_BINARY_OPTION
- See Also:
- Constant Field Values
-
CASE_OPTION
public static final String CASE_OPTION
- See Also:
- Constant Field Values
-
CAMEL_CASE_OPTION
public static final String CAMEL_CASE_OPTION
- See Also:
- Constant Field Values
-
SNAKE_CASE_OPTION
public static final String SNAKE_CASE_OPTION
- See Also:
- Constant Field Values
-
KEBAB_CASE_OPTION
public static final String KEBAB_CASE_OPTION
- See Also:
- Constant Field Values
-
packageName
protected String packageName
-
packageVersion
protected String packageVersion
-
projectName
protected String projectName
-
packageUrl
protected String packageUrl
-
apiDocPath
protected String apiDocPath
-
modelDocPath
protected String modelDocPath
-
caseType
protected String caseType
-
-
Method Detail
-
processOpts
public void processOpts()
- Specified by:
processOpts
in interfaceCodegenConfig
- Overrides:
processOpts
in classDefaultCodegen
-
toModelImport
public String toModelImport(String name)
Description copied from class:DefaultCodegen
Return the fully-qualified "Model" name for import- Specified by:
toModelImport
in interfaceCodegenConfig
- Overrides:
toModelImport
in classDefaultCodegen
- Parameters:
name
- the name of the "Model"- Returns:
- the fully-qualified "Model" name for import
-
postProcessModels
public Map<String,Object> postProcessModels(Map<String,Object> objs)
- Specified by:
postProcessModels
in interfaceCodegenConfig
- Overrides:
postProcessModels
in classDefaultCodegen
-
postProcessParameter
public void postProcessParameter(CodegenParameter parameter)
- Specified by:
postProcessParameter
in interfaceCodegenConfig
- Overrides:
postProcessParameter
in classDefaultCodegen
-
postProcessModelProperty
public void postProcessModelProperty(CodegenModel model, CodegenProperty property)
- Specified by:
postProcessModelProperty
in interfaceCodegenConfig
- Overrides:
postProcessModelProperty
in classDefaultCodegen
-
postProcessPattern
public void postProcessPattern(String pattern, Map<String,Object> vendorExtensions)
-
setCaseType
protected void setCaseType()
-
getTag
public CodegenType getTag()
- Specified by:
getTag
in interfaceCodegenConfig
-
getName
public String getName()
- Specified by:
getName
in interfaceCodegenConfig
-
getHelp
public String getHelp()
- Specified by:
getHelp
in interfaceCodegenConfig
-
escapeReservedWord
public String escapeReservedWord(String name)
Description copied from class:DefaultCodegen
Return the escaped name of the reserved word- Specified by:
escapeReservedWord
in interfaceCodegenConfig
- Overrides:
escapeReservedWord
in classDefaultCodegen
- Parameters:
name
- the name to be escaped- Returns:
- the escaped reserved word throws Runtime exception as reserved word is not allowed (default behavior)
-
apiDocFileFolder
public String apiDocFileFolder()
- Specified by:
apiDocFileFolder
in interfaceCodegenConfig
- Overrides:
apiDocFileFolder
in classDefaultCodegen
-
modelDocFileFolder
public String modelDocFileFolder()
- Specified by:
modelDocFileFolder
in interfaceCodegenConfig
- Overrides:
modelDocFileFolder
in classDefaultCodegen
-
toModelDocFilename
public String toModelDocFilename(String name)
Description copied from class:DefaultCodegen
Return the capitalized file name of the model documentation- Specified by:
toModelDocFilename
in interfaceCodegenConfig
- Overrides:
toModelDocFilename
in classDefaultCodegen
- Parameters:
name
- the model name- Returns:
- the file name of the model
-
toApiDocFilename
public String toApiDocFilename(String name)
Description copied from class:DefaultCodegen
Return the file name of the Api Documentation- Specified by:
toApiDocFilename
in interfaceCodegenConfig
- Overrides:
toApiDocFilename
in classDefaultCodegen
- Parameters:
name
- the file name of the Api- Returns:
- the file name of the Api
-
apiFileFolder
public String apiFileFolder()
- Specified by:
apiFileFolder
in interfaceCodegenConfig
- Overrides:
apiFileFolder
in classDefaultCodegen
-
modelFileFolder
public String modelFileFolder()
- Specified by:
modelFileFolder
in interfaceCodegenConfig
- Overrides:
modelFileFolder
in classDefaultCodegen
-
apiTestFileFolder
public String apiTestFileFolder()
- Specified by:
apiTestFileFolder
in interfaceCodegenConfig
- Overrides:
apiTestFileFolder
in classDefaultCodegen
-
modelTestFileFolder
public String modelTestFileFolder()
- Specified by:
modelTestFileFolder
in interfaceCodegenConfig
- Overrides:
modelTestFileFolder
in classDefaultCodegen
-
toInstantiationType
public String toInstantiationType(io.swagger.models.properties.Property p)
Description copied from class:DefaultCodegen
Return the instantiation type of the property, especially for map and array- Overrides:
toInstantiationType
in classDefaultCodegen
- Parameters:
p
- Swagger property object- Returns:
- string presentation of the instantiation type of the property
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.models.properties.Property p)
Description copied from class:DefaultCodegen
Output the type declaration of the property- Specified by:
getTypeDeclaration
in interfaceCodegenConfig
- Overrides:
getTypeDeclaration
in classDefaultCodegen
- Parameters:
p
- Swagger Property object- Returns:
- a string presentation of the property type
-
getSwaggerType
public String getSwaggerType(io.swagger.models.properties.Property p)
Description copied from class:DefaultCodegen
returns the swagger type for the property- Overrides:
getSwaggerType
in classDefaultCodegen
- Parameters:
p
- Swagger property object- Returns:
- string presentation of the type
-
toVarName
public String toVarName(String name)
Description copied from class:DefaultCodegen
Return the variable name by removing invalid characters and proper escaping if it's a reserved word.- Overrides:
toVarName
in classDefaultCodegen
- Parameters:
name
- the variable name- Returns:
- the sanitized variable name
-
toParamName
public String toParamName(String name)
Description copied from class:DefaultCodegen
Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.- Specified by:
toParamName
in interfaceCodegenConfig
- Overrides:
toParamName
in classDefaultCodegen
- Parameters:
name
- Codegen property object- Returns:
- the sanitized parameter name
-
toModelName
public String toModelName(String name)
Description copied from class:DefaultCodegen
Output the proper model name (capitalized). In case the name belongs to the TypeSystem it won't be renamed.- Specified by:
toModelName
in interfaceCodegenConfig
- Overrides:
toModelName
in classDefaultCodegen
- Parameters:
name
- the name of the model- Returns:
- capitalized model name
-
toModelFilename
public String toModelFilename(String name)
Description copied from class:DefaultCodegen
Return the capitalized file name of the model- Specified by:
toModelFilename
in interfaceCodegenConfig
- Overrides:
toModelFilename
in classDefaultCodegen
- Parameters:
name
- the model name- Returns:
- the file name of the model
-
toModelTestFilename
public String toModelTestFilename(String name)
Description copied from class:DefaultCodegen
Return the capitalized file name of the model test- Specified by:
toModelTestFilename
in interfaceCodegenConfig
- Overrides:
toModelTestFilename
in classDefaultCodegen
- Parameters:
name
- the model name- Returns:
- the file name of the model
-
toApiFilename
public String toApiFilename(String name)
Description copied from class:DefaultCodegen
Return the file name of the Api Test- Specified by:
toApiFilename
in interfaceCodegenConfig
- Overrides:
toApiFilename
in classDefaultCodegen
- Parameters:
name
- the file name of the Api- Returns:
- the file name of the Api
-
toApiTestFilename
public String toApiTestFilename(String name)
Description copied from class:DefaultCodegen
Return the file name of the Api Test- Specified by:
toApiTestFilename
in interfaceCodegenConfig
- Overrides:
toApiTestFilename
in classDefaultCodegen
- Parameters:
name
- the file name of the Api- Returns:
- the file name of the Api
-
toApiName
public String toApiName(String name)
Description copied from class:DefaultCodegen
Output the API (class) name (capitalized) ending with "Api" Return DefaultApi if name is empty- Specified by:
toApiName
in interfaceCodegenConfig
- Overrides:
toApiName
in classDefaultCodegen
- Parameters:
name
- the name of the Api- Returns:
- capitalized Api name ending with "Api"
-
toApiVarName
public String toApiVarName(String name)
Description copied from class:DefaultCodegen
Return the variable name in the Api- Specified by:
toApiVarName
in interfaceCodegenConfig
- Overrides:
toApiVarName
in classDefaultCodegen
- Parameters:
name
- the varible name of the Api- Returns:
- the snake-cased variable name
-
toOperationId
public String toOperationId(String operationId)
Description copied from class:DefaultCodegen
Return the operation ID (method name)- Overrides:
toOperationId
in classDefaultCodegen
- Parameters:
operationId
- operation ID- Returns:
- the sanitized method name
-
setPackageName
public void setPackageName(String packageName)
-
setProjectName
public void setProjectName(String projectName)
-
setPackageVersion
public void setPackageVersion(String packageVersion)
-
setPackageUrl
public void setPackageUrl(String packageUrl)
-
generatePackageName
public String generatePackageName(String packageName)
Generate Python package name from String `packageName` (PEP 0008) Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.- Parameters:
packageName
- Package name- Returns:
- Python package name that conforms to PEP 0008
-
toDefaultValue
public String toDefaultValue(io.swagger.models.properties.Property p)
Return the default value of the property- Overrides:
toDefaultValue
in classDefaultCodegen
- Parameters:
p
- Swagger property object- Returns:
- string presentation of the default value of the property
-
setParameterExampleValue
public void setParameterExampleValue(CodegenParameter p)
Description copied from class:DefaultCodegen
Return the example value of the parameter.- Overrides:
setParameterExampleValue
in classDefaultCodegen
- Parameters:
p
- Swagger property object
-
sanitizeTag
public String sanitizeTag(String tag)
Description copied from class:DefaultCodegen
Sanitize tag- Specified by:
sanitizeTag
in interfaceCodegenConfig
- Overrides:
sanitizeTag
in classDefaultCodegen
- Parameters:
tag
- Tag- Returns:
- Sanitized tag
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Description copied from class:DefaultCodegen
Escape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMark
in interfaceCodegenConfig
- Overrides:
escapeQuotationMark
in classDefaultCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with quotation mark removed or escaped
-
escapeUnsafeCharacters
public String escapeUnsafeCharacters(String input)
Description copied from class:DefaultCodegen
override with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharacters
in interfaceCodegenConfig
- Overrides:
escapeUnsafeCharacters
in classDefaultCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
-