We could do this globally for 1.10, but for 2.0 I think it might be nice
to change this as follows:

Rename template_ext to file_exts, and it looks for files with those
extensions, but doesn't render them.

And then make it only render files with, for example, .sh.jinja2.

Right now it's impossible to have scripts/files external to the DAG that
aren't rendered, so you have to be careful to escape {{ in them, which
can be annoying.

WDYT?

-a

On Apr 29 2020, at 12:17 pm, Ori Popowski <ori....@gmail.com> wrote:

> No. Any extension mentioned in `template_ext` will still be templated. But
> in addition, also those ending with `.jinja2`, as long it's preceded
> by one
> of those extensions (meaning that `file.jinja2` won't be templated)
> 
> On Wed, Apr 29, 2020 at 1:41 PM Ash Berlin-Taylor <a...@apache.org> wrote:
> 
>> Are you also proposing that, for example .sh would not be templated, but
>> that .sh.jinja2 would be templated?
>> 
>> Ash
>> 
>> On 29 April 2020 11:39:13 BST, Ori Popowski <ori....@gmail.com> wrote:
>> >At the moment, various operators support reading templates from given
>> >filenames (for example, `bash_command` of `BashOperator`). However, all
>> >of
>> >these operators specify extensions such as .sh, .json etc., so it means
>> >users need to write Jinja2 templates inside .sh, .json files. This is
>> >problematic for 3 reasons:
>> >
>> >1. No semantic support when writing templates (major IDEs support this
>> >extension, including Github itself)
>> >2. It's not aligned to widespread convention of naming template files
>> >with
>> >.jinja2 extension
>> >3. It's harder to distinguish between template files and non-template
>> >files
>> >
>> >A better way to do it would be supporting the .jinja2 extension.
>> >
>> >The proposition at the moment is to globally accept .jinja2 extension
>> >in
>> >`BaseOperator` whenever `template_ext` is defined. It means that all
>> >inheriting operators will now automatically support their already
>> >defined
>> >extensions but also with .jinja2 appended to them (i.e. if you have
>> >`template_ext = ('.json', '.yml')` then also .json.jinja2 and
>> >.yml.jinja2
>> >will be added)).
>> >
>> >Since this affects a vast part of the codebase, this suggestion is open
>> >to
>> >discussion. WDYT?
>> >
>> >For more info, see https://github.com/apache/airflow/issues/8603
>> 
> 

Reply via email to