Coverage for airflow: 76%

# Coverage for airflow : 76%

## 42 statements 32 run 10 missing 0 excluded

Hot-keys on this page

r m x p toggle line displays

j k next/prev highlighted chunk

0 (zero) top of page

1 (one) first highlighted chunk

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | """ Authentication is implemented using flask_login and different environments can implement their own login mechanisms by providing an `airflow_login` module in their PYTHONPATH. airflow_login should be based off the `airflow.www.login` """ from builtins import object __version__ = "1.5.2" import logging import os import sys import airflow.configuration from airflow.models import DAG from flask.ext.admin import BaseView from importlib import import_module from airflow.utils import AirflowException DAGS_FOLDER = os.path.expanduser(configuration.get('core', 'DAGS_FOLDER')) if DAGS_FOLDER not in sys.path: sys.path.append(DAGS_FOLDER) login = None def load_login(): auth_backend = 'airflow.default_login' try: if configuration.getboolean('webserver', 'AUTHENTICATE'): auth_backend = configuration.get('webserver', 'auth_backend') except configuration.AirflowConfigException: if configuration.getboolean('webserver', 'AUTHENTICATE'): logging.warning("auth_backend not found in webserver config reverting to *deprecated*" " behavior of importing airflow_login") auth_backend = "airflow_login" try: global login login = import_module(auth_backend) except ImportError as err: logging.critical( "Cannot import authentication module %s. " "Please correct your authentication backend or disable authentication: %s", auth_backend, err ) if configuration.getboolean('webserver', 'AUTHENTICATE'): raise AirflowException("Failed to import authentication backend") class AirflowViewPlugin(BaseView): pass class AirflowMacroPlugin(object): def __init__(self, namespace): self.namespace = namespace from airflow import operators from airflow import hooks from airflow import executors from airflow import macros from airflow import contrib operators.integrate_plugins() hooks.integrate_plugins() macros.integrate_plugins()