mhenc commented on code in PR #33955:
URL: https://github.com/apache/airflow/pull/33955#discussion_r1311561104


##########
airflow/serialization/pydantic/taskinstance.py:
##########
@@ -36,6 +42,32 @@
     from airflow.serialization.pydantic.dag_run import DagRunPydantic
 
 
+def serialize_operator(x: Operator) -> str:
+    from airflow.serialization.serialized_objects import SerializedBaseOperator
+
+    return SerializedBaseOperator.serialize_operator(x)
+
+
+def validated_operator(x: Any, info: ValidationInfo) -> Any:
+    from airflow.models.baseoperator import BaseOperator
+    from airflow.models.mappedoperator import MappedOperator
+    from airflow.serialization.serialized_objects import SerializedBaseOperator
+
+    if isinstance(x, BaseOperator) or isinstance(x, MappedOperator):
+        return x
+    if isinstance(x, str) or isinstance(x, dict):
+        return SerializedBaseOperator.deserialize_operator(x)

Review Comment:
   The only problem is that it returnes SerializedBaseOperator (so the type 
actually changes, but this is how SerializedBaseOperator works).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to