dstandish commented on a change in pull request #19267:
URL: https://github.com/apache/airflow/pull/19267#discussion_r741650042



##########
File path: airflow/serialization/serialized_objects.py
##########
@@ -409,30 +406,59 @@ def _value_is_hardcoded_default(cls, attrname: str, 
value: Any, instance: Any) -
             return True
         return False
 
+    @classmethod
+    def _serialize_param(cls, param: Param):
+        return dict(
+            __class=f"{param.__module__}.{param.__class__.__name__}",
+            default=cls._serialize(param.value),
+            description=cls._serialize(param.description),

Review comment:
       ok just sat down to not `_serialize` the `description` attr.  and on 
second thought, i think it's better to run it through `_serialize` after all.  
like, that's precisely what `_serialize` is there for.  there's a reason that 
`_serialize` has handling for primitive types, and so we should use it; to do 
otherwise is essentially to duplicate serialization logic.  not running through 
`_serialize` would not prevent a user from using other json-serializable types 
(only would prevent from using non-json-ser types like `set`) -- if we really 
want to clamp down on types, probably the right place do do that is in 
`Parame.__init__`.
   
   so, i think i'll leave this as is, but let me know if you think otherwise.
   
   thanks




-- 
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