From 7772c051c42b51f5110449b096e5d46dd9c46921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= <6774676+eumiro@users.noreply.github.com> Date: Wed, 16 Aug 2023 20:31:53 +0200 Subject: [PATCH] Simplify conditions on len() in dev --- .../commands/kubernetes_commands.py | 22 +++++++++---------- .../commands/release_management_commands.py | 4 ++-- .../airflow_breeze/params/build_ci_params.py | 2 +- .../params/build_prod_params.py | 4 ++-- .../airflow_breeze/params/doc_build_params.py | 2 +- .../src/airflow_breeze/params/shell_params.py | 9 +++----- .../src/airflow_breeze/utils/coertions.py | 2 +- .../utils/docker_command_utils.py | 8 +++---- .../airflow_breeze/utils/md5_build_check.py | 2 +- .../src/airflow_breeze/utils/run_utils.py | 2 +- .../airflow_breeze/utils/selective_checks.py | 6 ++--- dev/breeze/tests/test_exclude_from_matrix.py | 2 +- .../prepare_provider_packages.py | 4 ++-- 13 files changed, 33 insertions(+), 36 deletions(-) diff --git a/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py b/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py index b1b0a6fa56aee..33a7f4c2fe261 100644 --- a/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py +++ b/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py @@ -392,9 +392,7 @@ def _delete_cluster(python: str, kubernetes_version: str, output: Output | None) def _delete_all_clusters(): clusters = list(K8S_CLUSTERS_PATH.iterdir()) - if len(clusters) == 0: - get_console().print("\n[warning]No clusters.\n") - else: + if clusters: get_console().print("\n[info]Deleting clusters") for cluster_name in clusters: resolved_path = cluster_name.resolve() @@ -414,6 +412,8 @@ def _delete_all_clusters(): shutil.rmtree(cluster_name.resolve(), ignore_errors=True) else: resolved_path.unlink() + else: + get_console().print("\n[warning]No clusters.\n") @kubernetes_group.command( @@ -515,10 +515,7 @@ def status(kubernetes_version: str, python: str, wait_time_in_seconds: int, all: make_sure_kubernetes_tools_are_installed() if all: clusters = list(K8S_CLUSTERS_PATH.iterdir()) - if len(clusters) == 0: - get_console().print("\n[warning]No clusters.\n") - sys.exit(1) - else: + if clusters: failed = False get_console().print("[info]\nCluster status:\n") for cluster_name in clusters: @@ -536,6 +533,9 @@ def status(kubernetes_version: str, python: str, wait_time_in_seconds: int, all: if failed: get_console().print("\n[error]Some clusters are not healthy!\n") sys.exit(1) + else: + get_console().print("\n[warning]No clusters.\n") + sys.exit(1) else: if not _status( python=python, @@ -1233,10 +1233,7 @@ def _logs(python: str, kubernetes_version: str): def logs(python: str, kubernetes_version: str, all: bool): if all: clusters = list(K8S_CLUSTERS_PATH.iterdir()) - if len(clusters) == 0: - get_console().print("\n[warning]No clusters.\n") - sys.exit(1) - else: + if clusters: get_console().print("[info]\nDumping cluster logs:\n") for cluster_name in clusters: name = cluster_name.name @@ -1245,6 +1242,9 @@ def logs(python: str, kubernetes_version: str, all: bool): get_console().print(f"[warning]\nCould not get cluster from {name}. Skipping.\n") continue _logs(python=found_python, kubernetes_version=found_kubernetes_version) + else: + get_console().print("\n[warning]No clusters.\n") + sys.exit(1) else: _logs(python=python, kubernetes_version=kubernetes_version) diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py index 37201013460ac..dc01f1aff5606 100644 --- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py +++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py @@ -841,7 +841,7 @@ def add_back_references( "Provide the path of cloned airflow-site repo\n" ) sys.exit(1) - if len(packages_plus_all_providers) == 0: + if not packages_plus_all_providers: get_console().print( "\n[error]You need to specify at least one package to generate back references for\n" ) @@ -1469,7 +1469,7 @@ def update_constraints( get_console().print("[error]You have to provide one of --updated-constraint or --comment-file[/]") sys.exit(1) airflow_versions_array = airflow_versions.split(",") - if len(airflow_versions_array) == 0: + if not airflow_versions_array: get_console().print("[error]No airflow versions specified - you provided empty string[/]") sys.exit(1) get_console().print(f"Updating constraints for {airflow_versions_array} with {updated_constraint}") diff --git a/dev/breeze/src/airflow_breeze/params/build_ci_params.py b/dev/breeze/src/airflow_breeze/params/build_ci_params.py index 8888a7398f369..1f0663ec9f95c 100644 --- a/dev/breeze/src/airflow_breeze/params/build_ci_params.py +++ b/dev/breeze/src/airflow_breeze/params/build_ci_params.py @@ -52,7 +52,7 @@ def extra_docker_build_flags(self) -> list[str]: extra_ci_flags.extend( ["--build-arg", f"AIRFLOW_CONSTRAINTS_REFERENCE={self.airflow_constraints_reference}"] ) - if self.airflow_constraints_location is not None and len(self.airflow_constraints_location) > 0: + if self.airflow_constraints_location: extra_ci_flags.extend( ["--build-arg", f"AIRFLOW_CONSTRAINTS_LOCATION={self.airflow_constraints_location}"] ) diff --git a/dev/breeze/src/airflow_breeze/params/build_prod_params.py b/dev/breeze/src/airflow_breeze/params/build_prod_params.py index 92174451c373f..e45eafa3265aa 100644 --- a/dev/breeze/src/airflow_breeze/params/build_prod_params.py +++ b/dev/breeze/src/airflow_breeze/params/build_prod_params.py @@ -112,7 +112,7 @@ def args_for_remote_install(self) -> list: @property def extra_docker_build_flags(self) -> list[str]: extra_build_flags = [] - if len(self.install_airflow_reference) > 0: + if self.install_airflow_reference: AIRFLOW_INSTALLATION_METHOD = ( "https://github.com/apache/airflow/archive/" + self.install_airflow_reference @@ -125,7 +125,7 @@ def extra_docker_build_flags(self) -> list[str]: ] ) extra_build_flags.extend(self.args_for_remote_install) - elif len(self.install_airflow_version) > 0: + elif self.install_airflow_version: if not re.match(r"^[0-9\.]+((a|b|rc|alpha|beta|pre)[0-9]+)?$", self.install_airflow_version): get_console().print( f"\n[error]ERROR: Bad value for install-airflow-version:{self.install_airflow_version}" diff --git a/dev/breeze/src/airflow_breeze/params/doc_build_params.py b/dev/breeze/src/airflow_breeze/params/doc_build_params.py index 158e93964534d..961291b7a0ea9 100644 --- a/dev/breeze/src/airflow_breeze/params/doc_build_params.py +++ b/dev/breeze/src/airflow_breeze/params/doc_build_params.py @@ -42,7 +42,7 @@ def args_doc_builder(self) -> list[str]: doc_args.append("--one-pass-only") if AIRFLOW_BRANCH != "main": doc_args.append("--disable-provider-checks") - if self.package_filter and len(self.package_filter) > 0: + if self.package_filter: for single_filter in self.package_filter: doc_args.extend(["--package-filter", single_filter]) return doc_args diff --git a/dev/breeze/src/airflow_breeze/params/shell_params.py b/dev/breeze/src/airflow_breeze/params/shell_params.py index c8dfd9cd84cad..a70a404d0ed64 100644 --- a/dev/breeze/src/airflow_breeze/params/shell_params.py +++ b/dev/breeze/src/airflow_breeze/params/shell_params.py @@ -260,9 +260,8 @@ def compose_file(self) -> str: integrations = ALL_INTEGRATIONS else: integrations = self.integration - if len(integrations) > 0: - for integration in integrations: - compose_file_list.append(DOCKER_COMPOSE_DIR / f"integration-{integration}.yml") + for integration in integrations: + compose_file_list.append(DOCKER_COMPOSE_DIR / f"integration-{integration}.yml") if "trino" in integrations and "kerberos" not in integrations: get_console().print( "[warning]Adding `kerberos` integration as it is implicitly needed by trino", @@ -272,9 +271,7 @@ def compose_file(self) -> str: @property def command_passed(self): - cmd = None - if len(self.extra_args) > 0: - cmd = str(self.extra_args[0]) + cmd = str(self.extra_args[0]) if self.extra_args else None return cmd @property diff --git a/dev/breeze/src/airflow_breeze/utils/coertions.py b/dev/breeze/src/airflow_breeze/utils/coertions.py index 0f80dd57e3a9e..8f5daa6898e06 100644 --- a/dev/breeze/src/airflow_breeze/utils/coertions.py +++ b/dev/breeze/src/airflow_breeze/utils/coertions.py @@ -30,4 +30,4 @@ def coerce_bool_value(value: str | bool) -> bool: def one_or_none_set(iterable: Iterable[bool]) -> bool: - return len([i for i in iterable if i]) in (0, 1) + return sum(1 for i in iterable if i) in (0, 1) diff --git a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py index 1fdb96968db65..5332b149edd0c 100644 --- a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py +++ b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py @@ -399,7 +399,7 @@ def prepare_arguments_for_docker_build_command(image_params: CommonBuildParams) ) for optional_arg in image_params.optional_image_args: param_value = get_env_variable_value(optional_arg, params=image_params) - if len(param_value) > 0: + if param_value: args_command.append("--build-arg") args_command.append(optional_arg.upper() + "=" + param_value) args_command.extend(image_params.docker_cache_directive) @@ -809,13 +809,13 @@ def autodetect_docker_context(): get_console().print("[warning]Could not detect docker builder. Using default.[/]") return "default" context_list = output.stdout.splitlines() - if len(context_list) == 0: + if not context_list: get_console().print("[warning]Could not detect docker builder. Using default.[/]") return "default" - if len(context_list) == 1: + elif len(context_list) == 1: get_console().print(f"[info]Using {context_list[0]} as context.[/]") return context_list[0] - if len(context_list) > 1: + else: for preferred_context in PREFERRED_CONTEXTS: if preferred_context in context_list: get_console().print(f"[info]Using {preferred_context} as context.[/]") diff --git a/dev/breeze/src/airflow_breeze/utils/md5_build_check.py b/dev/breeze/src/airflow_breeze/utils/md5_build_check.py index 4397fece4d870..235fbf22495b4 100644 --- a/dev/breeze/src/airflow_breeze/utils/md5_build_check.py +++ b/dev/breeze/src/airflow_breeze/utils/md5_build_check.py @@ -97,7 +97,7 @@ def md5sum_check_if_build_is_needed(md5sum_cache_dir: Path) -> bool: """ build_needed = False modified_files, not_modified_files = calculate_md5_checksum_for_files(md5sum_cache_dir, update=False) - if len(modified_files) > 0: + if modified_files: get_console().print( f"[warning]The following important files are modified in {AIRFLOW_SOURCES_ROOT} " f"since last time image was built: [/]\n\n" diff --git a/dev/breeze/src/airflow_breeze/utils/run_utils.py b/dev/breeze/src/airflow_breeze/utils/run_utils.py index 5f059bad6707f..f792631d8b307 100644 --- a/dev/breeze/src/airflow_breeze/utils/run_utils.py +++ b/dev/breeze/src/airflow_breeze/utils/run_utils.py @@ -97,7 +97,7 @@ def exclude_command(_index: int, _arg: str) -> bool: return False if _arg.startswith("-"): return True - if len(_arg) == 0: + if not _arg: return True if _arg.startswith("/"): # Skip any absolute paths diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py b/dev/breeze/src/airflow_breeze/utils/selective_checks.py index 846b0ead808d9..bedd9267fac78 100644 --- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py +++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py @@ -274,7 +274,7 @@ def find_all_providers_affected( get_console().print( "[info]This PR had `allow suspended provider changes` label set so it will continue" ) - if len(all_providers) == 0: + if not all_providers: return None for provider in list(all_providers): all_providers.update( @@ -355,7 +355,7 @@ def full_tests_needed(self) -> bool: if self._github_event in [GithubEvents.PUSH, GithubEvents.SCHEDULE, GithubEvents.WORKFLOW_DISPATCH]: get_console().print(f"[warning]Full tests needed because event is {self._github_event}[/]") return True - if len(self._matching_files(FileGroupForCi.ENVIRONMENT_FILES, CI_FILE_GROUP_MATCHES)) > 0: + if self._matching_files(FileGroupForCi.ENVIRONMENT_FILES, CI_FILE_GROUP_MATCHES): get_console().print("[warning]Running everything because env files changed[/]") return True if FULL_TESTS_NEEDED_LABEL in self._pr_labels: @@ -495,7 +495,7 @@ def _should_be_run(self, source_area: FileGroupForCi) -> bool: get_console().print(f"[warning]{source_area} enabled because we are running everything[/]") return True matched_files = self._matching_files(source_area, CI_FILE_GROUP_MATCHES) - if len(matched_files) > 0: + if matched_files: get_console().print( f"[warning]{source_area} enabled because it matched {len(matched_files)} changed files[/]" ) diff --git a/dev/breeze/tests/test_exclude_from_matrix.py b/dev/breeze/tests/test_exclude_from_matrix.py index 7280e0dd550ac..d5721fc949a40 100644 --- a/dev/breeze/tests/test_exclude_from_matrix.py +++ b/dev/breeze/tests/test_exclude_from_matrix.py @@ -43,4 +43,4 @@ def test_exclude_from_matrix( exclusion_list = excluded_combos(list_1, list_2) assert representative_list == expected_representative_list assert len(representative_list) == len(list_1) * len(list_2) - len(exclusion_list) - assert len(set(representative_list) & set(exclusion_list)) == 0 + assert not set(representative_list).intersection(exclusion_list) diff --git a/dev/provider_packages/prepare_provider_packages.py b/dev/provider_packages/prepare_provider_packages.py index f9cff84e1945e..86b9f59edfe7b 100755 --- a/dev/provider_packages/prepare_provider_packages.py +++ b/dev/provider_packages/prepare_provider_packages.py @@ -1058,7 +1058,7 @@ def get_all_changes_for_package( changes_table += changes_table_for_version if verbose: print_changes_table(changes_table) - return True, list_of_list_of_changes if len(list_of_list_of_changes) > 0 else None, changes_table + return True, list_of_list_of_changes or None, changes_table def get_provider_details(provider_package_id: str) -> ProviderPackageDetails: @@ -1337,7 +1337,7 @@ def update_release_notes( version_suffix=version_suffix, ) jinja_context["DETAILED_CHANGES_RST"] = changes - jinja_context["DETAILED_CHANGES_PRESENT"] = len(changes) > 0 + jinja_context["DETAILED_CHANGES_PRESENT"] = bool(changes) update_changelog_rst( jinja_context, provider_package_id,