You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ka...@apache.org on 2020/06/01 07:53:09 UTC
[airflow] branch master updated: Don't create empty modules for
plugins (#9078)
This is an automated email from the ASF dual-hosted git repository.
kamilbregula pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/master by this push:
new 7c0e6ed Don't create empty modules for plugins (#9078)
7c0e6ed is described below
commit 7c0e6ede6078ff364da5d96afee65ec53e87cf65
Author: Kamil BreguĊa <mi...@users.noreply.github.com>
AuthorDate: Mon Jun 1 09:52:24 2020 +0200
Don't create empty modules for plugins (#9078)
---
airflow/plugins_manager.py | 48 ++++++++++++++++++++--------------------------
1 file changed, 21 insertions(+), 27 deletions(-)
diff --git a/airflow/plugins_manager.py b/airflow/plugins_manager.py
index 7c2b116..e36b665 100644
--- a/airflow/plugins_manager.py
+++ b/airflow/plugins_manager.py
@@ -198,6 +198,8 @@ def load_plugins_from_plugin_directory():
# noinspection Mypy,PyTypeHints
def make_module(name: str, objects: List[Any]):
"""Creates new module."""
+ if not objects:
+ return None
log.debug('Creating module %s', name)
name = name.lower()
module = types.ModuleType(name)
@@ -333,11 +335,9 @@ def integrate_executor_plugins() -> None:
plugin_name: str = plugin.name
executors_module = make_module('airflow.executors.' + plugin_name, plugin.executors)
- executors_modules.append(executors_module)
-
- sys.modules[executors_module.__name__] = executors_module # pylint: disable=no-member
- # noinspection PyProtectedMember
- globals()[executors_module._name] = executors_module # pylint: disable=protected-access
+ if executors_module:
+ executors_modules.append(executors_module)
+ sys.modules[executors_module.__name__] = executors_module # pylint: disable=no-member
def integrate_dag_plugins() -> None:
@@ -371,30 +371,24 @@ def integrate_dag_plugins() -> None:
for plugin in plugins:
if plugin.name is None:
raise AirflowPluginException("Invalid plugin name")
- plugin_name: str = plugin.name
-
- operators_module = make_module(f'airflow.operators.{plugin_name}', plugin.operators + plugin.sensors)
- sensors_module = make_module(f'airflow.sensors.{plugin_name}', plugin.sensors)
- hooks_module = make_module(f'airflow.hooks.{plugin_name}', plugin.hooks)
- macros_module = make_module(f'airflow.macros.{plugin_name}', plugin.macros)
- operators_modules.append(operators_module)
- sensors_modules.append(sensors_module)
- hooks_modules.append(hooks_module)
- macros_modules.append(macros_module)
+ operators_module = make_module(f'airflow.operators.{plugin.name}', plugin.operators + plugin.sensors)
+ sensors_module = make_module(f'airflow.sensors.{plugin.name}', plugin.sensors)
+ hooks_module = make_module(f'airflow.hooks.{plugin.name}', plugin.hooks)
+ macros_module = make_module(f'airflow.macros.{plugin.name}', plugin.macros)
- sys.modules[operators_module.__name__] = operators_module # pylint: disable=no-member
- # noinspection PyProtectedMember
- globals()[operators_module._name] = operators_module # pylint: disable=protected-access
+ if operators_module:
+ operators_modules.append(operators_module)
+ sys.modules[operators_module.__name__] = operators_module # pylint: disable=no-member
- sys.modules[sensors_module.__name__] = sensors_module # pylint: disable=no-member
- # noinspection PyProtectedMember
- globals()[sensors_module._name] = sensors_module # pylint: disable=protected-access
+ if sensors_module:
+ sensors_modules.append(sensors_module)
+ sys.modules[sensors_module.__name__] = sensors_module # pylint: disable=no-member
- sys.modules[hooks_module.__name__] = hooks_module # pylint: disable=no-member
- # noinspection PyProtectedMember
- globals()[hooks_module._name] = hooks_module # pylint: disable=protected-access
+ if hooks_module:
+ hooks_modules.append(hooks_module)
+ sys.modules[hooks_module.__name__] = hooks_module # pylint: disable=no-member
- sys.modules[macros_module.__name__] = macros_module # pylint: disable=no-member
- # noinspection PyProtectedMember
- globals()[macros_module._name] = macros_module # pylint: disable=protected-access
+ if macros_module:
+ macros_modules.append(macros_module)
+ sys.modules[macros_module.__name__] = macros_module # pylint: disable=no-member