diff --git a/modules/openapi-generator-core/pom.xml b/modules/openapi-generator-core/pom.xml
index dc45dda9eea3..986e9859b474 100644
--- a/modules/openapi-generator-core/pom.xml
+++ b/modules/openapi-generator-core/pom.xml
@@ -72,7 +72,7 @@
- 1.7.12
+ 1.7.29
26.0-jre
diff --git a/modules/openapi-generator/pom.xml b/modules/openapi-generator/pom.xml
index 0262582d8845..ecb1f58bb663 100644
--- a/modules/openapi-generator/pom.xml
+++ b/modules/openapi-generator/pom.xml
@@ -258,6 +258,7 @@
1.3.0
26.0-jre
1.0.2
+ 1.1
2.10.1
2.10.0
1.3.60
@@ -373,6 +374,11 @@
generex
${generex-version}
+
+ com.github.curious-odd-man
+ rgxgen
+ ${rxgen-version}
+
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
index 92a3f76b7600..2d7c4f2a2e2e 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
@@ -6191,7 +6191,7 @@ public List fromServerVariables(Map modelNameToSchemaCache;
+ private DateTimeFormatter iso8601Date = DateTimeFormatter.ISO_DATE;
+ private DateTimeFormatter iso8601DateTime = DateTimeFormatter.ISO_DATE_TIME;
public PythonClientExperimentalCodegen() {
super();
@@ -220,15 +225,38 @@ public String getName() {
return "python-experimental";
}
- public String dateToString(Schema p, OffsetDateTime date, DateTimeFormatter dateFormatter, DateTimeFormatter dateTimeFormatter) {
- // converts a date into a date or date-time python string
- if (!(ModelUtils.isDateSchema(p) || ModelUtils.isDateTimeSchema(p))) {
- throw new RuntimeException("passed schema must be of type Date or DateTime");
+ public String pythonDate(Object dateValue) {
+ String strValue = null;
+ if (dateValue instanceof OffsetDateTime) {
+ OffsetDateTime date = null;
+ try {
+ date = (OffsetDateTime) dateValue;
+ } catch (ClassCastException e) {
+ LOGGER.warn("Invalid `date` format for value {}", dateValue.toString());
+ date = ((Date) dateValue).toInstant().atOffset(ZoneOffset.UTC);
+ }
+ strValue = date.format(iso8601Date);
+ } else {
+ strValue = dateValue.toString();
}
- if (ModelUtils.isDateSchema(p)) {
- return "dateutil_parser('" + date.format(dateFormatter) + "').date()";
+ return "dateutil_parser('" + strValue + "').date()";
+ }
+
+ public String pythonDateTime(Object dateTimeValue) {
+ String strValue = null;
+ if (dateTimeValue instanceof OffsetDateTime) {
+ OffsetDateTime dateTime = null;
+ try {
+ dateTime = (OffsetDateTime) dateTimeValue;
+ } catch (ClassCastException e) {
+ LOGGER.warn("Invalid `date-time` format for value {}", dateTimeValue.toString());
+ dateTime = ((Date) dateTimeValue).toInstant().atOffset(ZoneOffset.UTC);
+ }
+ strValue = dateTime.format(iso8601DateTime);
+ } else {
+ strValue = dateTimeValue.toString();
}
- return "dateutil_parser('" + date.format(dateTimeFormatter) + "')";
+ return "dateutil_parser('" + strValue + "')";
}
/**
@@ -251,80 +279,25 @@ public String toDefaultValue(Schema p) {
defaultObject = p.getEnum().get(0);
}
- // convert datetime and date enums if they exist
- DateTimeFormatter iso8601Date = DateTimeFormatter.ISO_DATE;
- DateTimeFormatter iso8601DateTime = DateTimeFormatter.ISO_DATE_TIME;
-
- if (ModelUtils.isDateSchema(p) || ModelUtils.isDateTimeSchema(p)) {
- List