forked from loafle/openapi-generator-original
[python] Triple quote strings with new lines in default values (#4941)
* Triple quote python strings in defaults When the model contains a string with a default value with new lines in it, simply quoting generates invalid python code. Using triple quotes for all string defaults makes sure the generated code will be a valid python string. Fixes #4862 * Wrap default string in triple quotes when it contains new lines * Add newly generated python sample files
This commit is contained in:
@@ -17,6 +17,7 @@ import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@@ -519,7 +520,10 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
|
||||
if (p instanceof StringProperty) {
|
||||
StringProperty dp = (StringProperty) p;
|
||||
if (dp.getDefault() != null) {
|
||||
return "'" + dp.getDefault() + "'";
|
||||
if (Pattern.compile("\r\n|\r|\n").matcher(dp.getDefault()).find())
|
||||
return "'''" + dp.getDefault() + "'''";
|
||||
else
|
||||
return "'" + dp.getDefault() + "'";
|
||||
}
|
||||
} else if (p instanceof BooleanProperty) {
|
||||
BooleanProperty dp = (BooleanProperty) p;
|
||||
|
||||
Reference in New Issue
Block a user