From 1cca47b3f965aa8854f166ac59672ef0dd0d63a3 Mon Sep 17 00:00:00 2001 From: Mikhail Grebenkin Date: Wed, 21 Nov 2018 20:59:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=BF-=D1=81=D0=B5=D1=82=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zayavka_reader.py | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/zayavka_reader.py b/zayavka_reader.py index 3fd6c17..cc3f6a7 100644 --- a/zayavka_reader.py +++ b/zayavka_reader.py @@ -10,7 +10,9 @@ dbconn = {'host': '10.1.11.26', sql = 'select * from LDAP' -ad_groups = ['vpn-users', 'gogs'] +ad_groups_users = ['vpn-users', 'gogs'] +ad_groups_bitrix = ['vpn-web-vpn', 'gogs'] +ad_groups_1c = ['vpn-1c-vpn'] def mysql_reader(dbconn, sql): @@ -33,27 +35,36 @@ def mysql_reader(dbconn, sql): return data, err -def users_make_zayavka(users, memberOf): +def users_make_zayavka(users): res = {} for i in users: - usrName = str(i['LoginEmail']).split('@')[0] + usrname = str(i['LoginEmail']).split('@')[0] enabled = False - pwChange = False - toRemove = False + pwchange = False + toremove = False + # преобразуем флаги в удобную форму if i['Activ'] == 'Y': enabled = True if i['Changes'] == 'Y': - pwChange = True + pwchange = True if i['Delete'] == 'Y': - toRemove = True - res[usrName] = {'id': str(i['ID']), - 'samAccountName': usrName, - 'memberOf': memberOf, + toremove = True + # размечаем группы, в которых должен быть пользователь + if str(i['Otdel']) == 'Users': + memberof = ad_groups_users + elif str(i['Otdel']) == '1c': + memberof = ad_groups_1c + elif str(i['Otdel']) == 'Bitrix': + memberof = ad_groups_bitrix + # собственно добавляем в мапу + res[usrname] = {'id': str(i['ID']), + 'samAccountName': usrname, + 'memberOf': memberof, 'usrPass': str(i['Pass']), 'groupSet': str(i['Otdel']), 'enabled': enabled, - 'pwChange': pwChange, - 'toRemove': toRemove + 'pwChange': pwchange, + 'toRemove': toremove } return res @@ -61,7 +72,7 @@ def users_make_zayavka(users, memberOf): def main(): data, err = mysql_reader(dbconn, sql) if not err: - users = users_make_zayavka(data, ad_groups) + users = users_make_zayavka(data) for user in users: print user, users[user] else: