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.  also, not running 
through `_serialize` would not achieve the goal of preventing a user from using 
non-string values (it only would prevent from using non-json-serializable types 
such as `set`) -- if we really want to clamp down on types, probably the right 
place do do that is in `Param.__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