[sysadmin-bin] Avoid duplicate user entries due to multiple possible identities per user entry



commit 7d4db92bf22624e5ed1cb2b0887882ef4db05d76
Author: Andrea Veri <averi redhat com>
Date:   Thu Mar 21 20:00:24 2019 +0100

    Avoid duplicate user entries due to multiple possible identities per user entry

 gitlab/inactive-gitlab-users.py | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/gitlab/inactive-gitlab-users.py b/gitlab/inactive-gitlab-users.py
index d042c75..904dd37 100755
--- a/gitlab/inactive-gitlab-users.py
+++ b/gitlab/inactive-gitlab-users.py
@@ -17,11 +17,18 @@ whitelist = ['debian', 'ubuntu', 'redhat',
 
 print 'username,email,id,created_at,current_sign_in_at'
 
+is_ldap = False
 for user in users:
     for index, _ in enumerate(user.attributes['identities']):
-        if user.attributes['identities'][index]['provider'] != 'ldapmain':
-            if user.attributes['last_activity_on'] == None:
+        if user.attributes['identities'][index]['provider'] == 'ldapmain':
+            is_ldap = True
+
+    if not is_ldap:
+        if user.attributes['username'] != 'ghost':
+            if not user.attributes['last_activity_on'] and user.attributes['current_sign_in_at']:
                 if user.attributes['email'].split('@')[1].split('.')[-2] not in whitelist:
                     if user.attributes['created_at'].split('T')[0] == 
user.attributes['current_sign_in_at'].split('T')[0]:
                         if dt.datetime.strptime(user.attributes['created_at'].split('T')[0], 
'%Y-%m-%d').date() < (today - timedelta):
                             print '{},{},{},{},{}'.format(user.attributes['username'], 
user.attributes['email'], user.attributes['id'], user.attributes['created_at'].split('T')[0], 
user.attributes['current_sign_in_at'].split('T')[0])
+    else:
+        is_ldap = False


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]