前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python批量创建gitlab的用户

python批量创建gitlab的用户

作者头像
py3study
发布2020-01-10 17:19:13
1.4K0
发布2020-01-10 17:19:13
举报
文章被收录于专栏:python3python3

在脚本的同目录下需要创建一个名为“useradd.txt”的文件,用于存放需要创建的用户,useradd的内容格式:账号,邮箱,密码(注意,这3个单元之间要以英文逗号隔开),

举例,我要新建一个账号为test,邮箱为test@qq.com,密码为12345678的用户,useradd.txt的格式如下:

test,test@qq.com,12345678

整个代码包含以下功能

1、创建用户并赋予权限

2、删除用户

3、更新指定组内的用户权限

4、将指定组内的部分用户权限去除,运行界面如下

image2018-7-25_17-42-46.jpg
image2018-7-25_17-42-46.jpg

代码内容如下:

#C:\Python27 # coding=utf-8 import gitlab,re def add(gl):     gid = int(raw_input('Group ID: '))     group = gl.groups.get(gid)     print group.name     mkey = []     path = 'useradd.txt'     with open(path,'r') as f:         for fnun in f.readlines():             fkey = fnun.strip()             name = fkey.split(',')[0]             mail = fkey.split(',')[1]             username = mail.split('@')[0]             passwd = fkey.split(',')[2]             user = gl.users.create({'email':mail,'password':passwd,'username':username ,'name':name})             print user.username,user.id             mkey.append(user.id)     for i in mkey:         member = group.members.create({'user_id':i,'access_level':30})         print member.username,member.access_level ######del user####### def deluser(gl):     #cancel = [153, 151, 149, 147, 91, 51, 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15]     num = raw_input('Inout the user_id: ')                  #输入需要删除的用户的ID     cancel = []     cancel.append(num)     for m in cancel:         user = gl.users.get(m)         uname = user.name         print 'Useri_id:%s , name:%s  has been erased' % (m,uname)         gl.users.delete(m) ######add user to group####### def update(gl):     gid = int(raw_input('Group ID: '))     group = gl.groups.get(gid)     print group.name     fnum = [139, 137, 127, 125, 123, 121, 117, 115, 113, 109, 105, 101, 97, 93, 87, 79, 63, 61, 59]     #需要更新权限的用户ID     for i in fnum:         member = group.members.create({'user_id':i,'access_level':30})         print member.username,member.access_level ######remove user from group####### def remove(gl):     cancel = [51, 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15]     #删除指定组内的用户权限的ID

    gid = int(raw_input('Group ID: '))     group = gl.groups.get(gid)     print group.name     #num = raw_input('Inout the user_id: ')     #cancel = []     #cancel.append(num)     for m in cancel:         user = gl.users.get(m)         uname = user.name         print 'Useri_id:%s , name:%s  will be removed' % (m,uname)         member = group.members.delete(m)     mem = group.members.list(all=True)     for me in mem:         print me.id,me.username def main():     print '''%s 1. 增加git用户并赋予权限 2. 删除git用户 3. 更新git用户权限 4. 从指定的组中删除用户权限 %s ''' % ('-'*20,'-'*20)     gl = gitlab.Gitlab('http://10.50.36.33/', private_token='ffffffffffffffffj')     info = {1:'add(gl)',2:'deluser(gl)',3:'update(gl)',4:'remove(gl)'}     num = int(raw_input('Input your choice: '))     exec info[num] if __name__ == '__main__':     main()

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档