ashb commented on a change in pull request #4743: [AIRFLOW-3871] render 
Operators template fields recursively
URL: https://github.com/apache/airflow/pull/4743#discussion_r293744071
 
 

 ##########
 File path: airflow/models/baseoperator.py
 ##########
 @@ -644,9 +648,23 @@ def render_template_from_field(self, attr, content, 
context, jinja_env):
                 k: rt("{}[{}]".format(attr, k), v, context)
                 for k, v in list(content.items())}
         else:
-            result = content
+            result = self._render_nested_template_fields(content, context)
         return result
 
+    def _render_nested_template_fields(self, content, context):
 
 Review comment:
   Oh yeah, I did miss something.
   ```diff
               for field in nested_template_fields:
                   rendered = self.render_template(field, getattr(content, 
field), context, seen_oids=seen_oids)
                   setattr(content, field, rendered)
           return content
   
   -     def render_template(self, attr, content, context):
   +     def render_template(self, attr, content, context, seen_oids=None):
            """
            Renders a template either from a file or directly in a field, and 
returns
   ```
   
   And then something like this.
   
   ```diff
                    k: rt("{}[{}]".format(attr, k), v, context)
                    for k, v in list(content.items())}
            else:
   -            result = content
   +            if seen_oids is None:
   +                seen_oids = set()
   +            result = self._render_nested_template_fields(content, context, 
seen_oids=seen_oids)
            return result
   ```

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to