@@ -39,6 +39,11 @@ import com.regnosys.rosetta.rosetta.expression.SortOperation
3939import com.regnosys.rosetta.rosetta.expression.SumOperation
4040import com.regnosys.rosetta.rosetta.expression.ThenOperation
4141import com.regnosys.rosetta.rosetta.expression.ToStringOperation
42+ import com.regnosys.rosetta.rosetta.expression.ToDateOperation
43+ import com.regnosys.rosetta.rosetta.expression.ToDateTimeOperation
44+ import com.regnosys.rosetta.rosetta.expression.ToIntOperation
45+ import com.regnosys.rosetta.rosetta.expression.ToTimeOperation
46+ import com.regnosys.rosetta.rosetta.expression.ToZonedDateTimeOperation
4247import com.regnosys.rosetta.rosetta.expression.ToEnumOperation
4348import com.regnosys.rosetta.rosetta.expression.RosettaDeepFeatureCall
4449import com.regnosys.rosetta.rosetta.expression.MinOperation
@@ -86,6 +91,11 @@ class PythonExpressionGenerator {
8691 SwitchOperation : generateSwitchOperation(expr, ifLevel, isLambda)
8792 ToEnumOperation : ' ' ' «expr.enumeration.name»(«generateExpression(expr.argument, ifLevel, isLambda)»)' ' '
8893 ToStringOperation : ' ' ' rune_str(«generateExpression(expr.argument, ifLevel, isLambda)»)' ' '
94+ ToDateOperation : ' ' ' datetime.datetime.strptime(«generateExpression(expr.argument, ifLevel, isLambda)», "%Y-%m-%d").date()' ' '
95+ ToDateTimeOperation : ' ' ' datetime.datetime.strptime(«generateExpression(expr.argument, ifLevel, isLambda)», "%Y-%m-%d %H:%M:%S")' ' '
96+ ToIntOperation : ' ' ' int(«generateExpression(expr.argument, ifLevel, isLambda)»)' ' '
97+ ToTimeOperation : ' ' ' datetime.datetime.strptime(«generateExpression(expr.argument, ifLevel, isLambda)», "%H:%M:%S").time()' ' '
98+ ToZonedDateTimeOperation : ' ' ' datetime.datetime.strptime(«generateExpression(expr.argument, ifLevel, isLambda)», "%Y-%m-%d %H:%M:%S %z %Z")' ' '
8999 // Rune Operations
90100 RosettaAbsentExpression : ' ' ' (not rune_attr_exists(«generateExpression(expr.argument, ifLevel, isLambda)»))' ' '
91101 RosettaBinaryOperation : generateBinaryExpression(expr, ifLevel, isLambda)
@@ -247,6 +257,7 @@ class PythonExpressionGenerator {
247257
248258 return _builder. toString
249259 }
260+
250261
251262 private def String generateReference (RosettaReference expr , int ifLevel , boolean isLambda ) {
252263 switch (expr) {
0 commit comments