From 441b8e49c8ce09a74dc525e2808a5a74db0dd459 Mon Sep 17 00:00:00 2001 From: shiro <24359398+actuarysailor@users.noreply.github.com> Date: Wed, 24 May 2023 22:49:03 -0400 Subject: [PATCH] feat(settings.py): Now compares all settings (#41) --- repo_manager/github/settings.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/repo_manager/github/settings.py b/repo_manager/github/settings.py index 70de1605..5682a9fd 100644 --- a/repo_manager/github/settings.py +++ b/repo_manager/github/settings.py @@ -65,15 +65,20 @@ def get_repo_value(setting_name: str, repo: Repository) -> Any | None: checked = True for setting_name in settings.dict().keys(): repo_value = get_repo_value(setting_name, repo) - if repo_value is None: - continue settings_value = getattr(settings, setting_name) + # These don't seem to update if changed; may need to explore a different API call + if ((setting_name == "enable_automated_security_fixes") | (setting_name == "enable_vulnerability_alerts")): + continue + # We don't want to flag description being different if the YAML is None + if (setting_name == "description") & (not settings_value): + continue + elif (setting_name == "topics") & (settings_value is None): + settings_value = [] if repo_value != settings_value: drift.append(f"{setting_name} -- Expected: '{settings_value}' Found: '{repo_value}'") - checked = False + checked &= False if (settings_value is not None) else True return checked, drift - def update(repo: Repository, setting_name: str, new_value: Any): """[summary]