From commits-return-11955-archive-asf-public=cust-asf.ponee.io@airflow.incubator.apache.org Wed Jan 10 19:56:39 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id D5BE418072F for ; Wed, 10 Jan 2018 19:56:39 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id C563A160C2E; Wed, 10 Jan 2018 18:56:39 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 15CA6160C1E for ; Wed, 10 Jan 2018 19:56:38 +0100 (CET) Received: (qmail 13783 invoked by uid 500); 10 Jan 2018 18:56:38 -0000 Mailing-List: contact commits-help@airflow.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airflow.incubator.apache.org Delivered-To: mailing list commits@airflow.incubator.apache.org Received: (qmail 13774 invoked by uid 99); 10 Jan 2018 18:56:38 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jan 2018 18:56:38 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id A7AD51A0400 for ; Wed, 10 Jan 2018 18:56:37 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.231 X-Spam-Level: X-Spam-Status: No, score=-4.231 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 8pxmDWHZrlC3 for ; Wed, 10 Jan 2018 18:56:35 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 698E45F47A for ; Wed, 10 Jan 2018 18:56:34 +0000 (UTC) Received: (qmail 13769 invoked by uid 99); 10 Jan 2018 18:56:33 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jan 2018 18:56:33 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id AF84CDFB0D; Wed, 10 Jan 2018 18:56:30 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: bolke@apache.org To: commits@airflow.incubator.apache.org Message-Id: <2c9d002657964f12a175614dd675d424@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: incubator-airflow git commit: [AIRFLOW-1480] Render template attributes for ExternalTaskSensor fields Date: Wed, 10 Jan 2018 18:56:30 +0000 (UTC) Repository: incubator-airflow Updated Branches: refs/heads/master 97680d85f -> bf8c8b247 [AIRFLOW-1480] Render template attributes for ExternalTaskSensor fields Closes #2926 from pdambrauskas/feature/external_ta sk_sensor_templates Project: http://git-wip-us.apache.org/repos/asf/incubator-airflow/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-airflow/commit/bf8c8b24 Tree: http://git-wip-us.apache.org/repos/asf/incubator-airflow/tree/bf8c8b24 Diff: http://git-wip-us.apache.org/repos/asf/incubator-airflow/diff/bf8c8b24 Branch: refs/heads/master Commit: bf8c8b24751d5b1016f2a063e69a81b317c4db47 Parents: 97680d8 Author: Paulius Authored: Wed Jan 10 19:56:23 2018 +0100 Committer: Bolke de Bruin Committed: Wed Jan 10 19:56:23 2018 +0100 ---------------------------------------------------------------------- airflow/operators/sensors.py | 1 + tests/operators/sensors.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/bf8c8b24/airflow/operators/sensors.py ---------------------------------------------------------------------- diff --git a/airflow/operators/sensors.py b/airflow/operators/sensors.py index c8a8df6..e9bf7ff 100644 --- a/airflow/operators/sensors.py +++ b/airflow/operators/sensors.py @@ -202,6 +202,7 @@ class ExternalTaskSensor(BaseSensorOperator): or execution_date_fn can be passed to ExternalTaskSensor, but not both. :type execution_date_fn: callable """ + template_fields = ['external_dag_id', 'external_task_id'] ui_color = '#19647e' @apply_defaults http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/bf8c8b24/tests/operators/sensors.py ---------------------------------------------------------------------- diff --git a/tests/operators/sensors.py b/tests/operators/sensors.py index fccc9c3..d60f15c 100644 --- a/tests/operators/sensors.py +++ b/tests/operators/sensors.py @@ -272,6 +272,25 @@ class ExternalTaskSensorTests(unittest.TestCase): 'start_date': DEFAULT_DATE, 'depends_on_past': False} + def test_templated_sensor(self): + dag = DAG(TEST_DAG_ID, self.args) + + with dag: + sensor = ExternalTaskSensor( + task_id='templated_task', + external_dag_id='dag_{{ ds }}', + external_task_id='task_{{ ds }}', + start_date=DEFAULT_DATE + ) + + instance = TaskInstance(sensor, DEFAULT_DATE) + instance.render_templates() + + self.assertEqual(sensor.external_dag_id, + "dag_{}".format(DEFAULT_DATE.date())) + self.assertEqual(sensor.external_task_id, + "task_{}".format(DEFAULT_DATE.date())) + def test_external_task_sensor_fn_multiple_execution_dates(self): bash_command_code = """ {% set s=execution_date.time().second %}