Repository: incubator-airflow Updated Branches: refs/heads/master 9d5cc6ef5 -> d2d2c2557
[AIRFLOW-2175] Check that filepath is not None This handles the case where the fileloc no longer exists in the database Project: http://git-wip-us.apache.org/repos/asf/incubator-airflow/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-airflow/commit/a0ba5b90 Tree: http://git-wip-us.apache.org/repos/asf/incubator-airflow/tree/a0ba5b90 Diff: http://git-wip-us.apache.org/repos/asf/incubator-airflow/diff/a0ba5b90 Branch: refs/heads/master Commit: a0ba5b90b30616f50ae4cce5bb72b25f333c0161 Parents: 9d5cc6e Author: Sam Schlegel <g...@lutin.us> Authored: Tue Mar 6 11:41:18 2018 -0800 Committer: Sam Schlegel <g...@lutin.us> Committed: Tue Mar 6 11:48:59 2018 -0800 ---------------------------------------------------------------------- airflow/models.py | 4 +++- tests/models.py | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/a0ba5b90/airflow/models.py ---------------------------------------------------------------------- diff --git a/airflow/models.py b/airflow/models.py index 98e9fcd..276fdc4 100755 --- a/airflow/models.py +++ b/airflow/models.py @@ -252,8 +252,10 @@ class DagBag(BaseDagBag, LoggingMixin): """ found_dags = [] + # if the source file no longer exists in the DB or in the filesystem, + # return an empty list # todo: raise exception? - if not os.path.isfile(filepath): + if filepath is None or not os.path.isfile(filepath): return found_dags try: http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/a0ba5b90/tests/models.py ---------------------------------------------------------------------- diff --git a/tests/models.py b/tests/models.py index c89296e..c8ee037 100644 --- a/tests/models.py +++ b/tests/models.py @@ -857,6 +857,14 @@ class DagBagTest(unittest.TestCase): self.assertTrue( dag.fileloc.endswith('airflow/example_dags/' + path)) + def test_process_file_with_none(self): + """ + test that process_file can handle Nones + """ + dagbag = models.DagBag(include_examples=True) + + self.assertEqual([], dagbag.process_file(None)) + class TaskInstanceTest(unittest.TestCase):