def get_extras_from_setup() -> Dict[str, str]:
    """
    Returns a dict of regular extras from setup (with value = '' for non-provider extra and '*' for
    provider extra
    """
    all_regular_extras = set(EXTRAS_REQUIREMENTS.keys()) - set(EXTRAS_DEPRECATED_ALIASES.keys())
    setup_extra_dict = {}
    for setup_regular_extra in all_regular_extras:
        setup_extra_dict[setup_regular_extra] = '*' if setup_regular_extra in EXTRAS_WITH_PROVIDERS else ''
    return setup_extra_dict
def checks_extra_with_providers_exist() -> None:

    from setup import EXTRAS_REQUIREMENTS, EXTRAS_PROVIDERS_PACKAGES  # noqa # isort:skip

    message = 'Check if all extras have providers defined in: EXTRAS_PROVIDERS_PACKAGES'
    local_error = False
    for key in EXTRAS_REQUIREMENTS.keys():  # noqa
        if key not in EXTRAS_PROVIDERS_PACKAGES.keys():  # noqa
            if not local_error:
                local_error = True
                print(f"Extra {key} NOK")
            errors.append(
                f"ERROR in {message}. The {key} extras is missing there."
                " If you do not want to install any providers with this extra set it to []"
            )
    if not local_error:
        print(f"{message} is ok")
Пример #3
0
sys.path.append(str(AIRFLOW_SOURCES_DIR))

RST_HEADER = '  .. START EXTRAS HERE'
RST_FOOTER = '  .. END EXTRAS HERE'

INSTALL_HEADER = '# START EXTRAS HERE'
INSTALL_FOOTER = '# END EXTRAS HERE'

CONSTANTS_HEADER = '# START EXTRAS HERE'
CONSTANTS_FOOTER = '# END EXTRAS HERE'

DEFAULT_EXTRAS = (
    "amazon,async,celery,cncf.kubernetes,dask,docker,elasticsearch,ftp,google,"
    "google_auth,grpc,hashicorp,http,ldap,microsoft.azure,mysql,odbc,pandas,"
    "postgres,redis,sendgrid,sftp,slack,ssh,statsd,virtualenv")

if __name__ == '__main__':
    install_file_path = AIRFLOW_SOURCES_DIR / 'INSTALL'
    contributing_file_path = AIRFLOW_SOURCES_DIR / 'CONTRIBUTING.rst'
    global_constants_file_path = (AIRFLOW_SOURCES_DIR / "dev" / "breeze" /
                                  "src" / "airflow_breeze" /
                                  "global_constants.py")
    extras_list = wrap(", ".join(EXTRAS_REQUIREMENTS.keys()), 100)
    extras_list = [line + "\n" for line in extras_list]
    extras_code = [f"    {extra}\n" for extra in EXTRAS_REQUIREMENTS.keys()]
    insert_documentation(install_file_path, extras_list, INSTALL_HEADER,
                         INSTALL_FOOTER)
    insert_documentation(contributing_file_path, extras_list, RST_HEADER,
                         RST_FOOTER)
def get_extras_from_setup() -> Set[str]:
    """Returns a set of regular (non-deprecated) extras from setup."""
    return set(EXTRAS_REQUIREMENTS.keys()) - set(EXTRAS_DEPRECATED_ALIASES.keys())
                         footer: str):
    with open(file_path) as documentation_file:
        replacing = False
        result: List[str] = []
        text = documentation_file.readlines()
        for line in text:
            if line.startswith(header):
                replacing = True
                result.append(line)
                result.append("\n")
                result += content
                result.append("\n")
            if line.startswith(footer):
                replacing = False
            if not replacing:
                result.append(line)
    with open(file_path, "w") as documentation_file:
        documentation_file.write("".join(result))


if __name__ == '__main__':
    install_file_path = os.path.join(AIRFLOW_SOURCES_DIR, 'INSTALL')
    contributing_file_path = os.path.join(AIRFLOW_SOURCES_DIR,
                                          'CONTRIBUTING.rst')
    extras = wrap(", ".join(EXTRAS_REQUIREMENTS.keys()), 100)
    extras = [line + "\n" for line in extras]
    insert_documentation(install_file_path, extras, INSTALL_HEADER,
                         INSTALL_FOOTER)
    insert_documentation(contributing_file_path, extras, RST_HEADER,
                         RST_FOOTER)