From af85dba667b387241a176efbfee9694c0ebf23fa Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Fri, 27 Dec 2024 18:04:40 +0800 Subject: [PATCH] fix: Update mysql_filter to handle nested user info --- .../automations/gather_account/filter.py | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/apps/accounts/automations/gather_account/filter.py b/apps/accounts/automations/gather_account/filter.py index eeb6fee29..41bfc4938 100644 --- a/apps/accounts/automations/gather_account/filter.py +++ b/apps/accounts/automations/gather_account/filter.py @@ -33,18 +33,19 @@ class GatherAccountsFilter: @staticmethod def mysql_filter(info): result = {} - for username, user_info in info.items(): - password_last_changed = parse_date(user_info.get('password_last_changed')) - password_lifetime = user_info.get('password_lifetime') - user = { - 'username': username, - 'date_password_change': password_last_changed, - 'date_password_expired': password_last_changed + timezone.timedelta( - days=password_lifetime) if password_last_changed and password_lifetime else None, - 'date_last_login': None, - 'groups': '', - } - result[username] = user + for host, user_dict in info.items(): + for username, user_info in user_dict.items(): + password_last_changed = parse_date(user_info.get('password_last_changed')) + password_lifetime = user_info.get('password_lifetime') + user = { + 'username': username, + 'date_password_change': password_last_changed, + 'date_password_expired': password_last_changed + timezone.timedelta( + days=password_lifetime) if password_last_changed and password_lifetime else None, + 'date_last_login': None, + 'groups': '', + } + result[username] = user return result @staticmethod