根据部门和城市自动创建xxxbj格式的邮件组。
如果提示缺少某个模块,可以用这个命令安装。
python -m pip install bs4 或者 pip install bs4
#!/usr/bin/python # coding:utf-8 import sys sys.path.append('/sw/systems/shared/python') from DB import DB con,cur = DB().connect() from Company import Company company = Company() users = company.employees departments = company.departments #导入ad模块,并获取ad用户 import AD ad = AD.new() ad_users = ad.get_users() user_list = {} for key in users: city = users[key]['location_code'].lower() dep = users[key]['department'].lower() username = users[key]['username'].strip() if dep and city: user_list.setdefault(dep,[]) user_list[dep].append(username) user_list.setdefault(dep+city,[]) user_list[dep+city].append(username) user_list.setdefault('base%s' %city,[]) user_list['base%s' % city].append(username) if username not in ['cbremble','nkovalevich','nrich','isugarman']: user_list.setdefault('attendance%s' % city,[]) user_list['attendance%s'% city].append(username) user_list.setdefault('prod',[]) user_list.setdefault('prod%s' % city,[]) user_list['prod%s'% city].append(username) user_list['prod'].append(username) def mail_forward(): query = """ SELECT name,forward_name from mail.forward """ cur.execute(query) results = cur.fetchall() forwards = {} for result in results: name = result['name'] forward_name = result['forward_name'].lower().strip() forwards.setdefault(name,[]) forwards[name].append(forward_name) return forwards forwards = mail_forward() try: for dep in user_list: if dep in forwards.keys(): if dep: need_add_alias = set(user_list[dep]) - set(forwards[dep]) else: need_add_alias = user_list[dep] if need_add_alias: for user in need_add_alias: if user not in ad_users: #如果没用此用户,则不创建 pass else: add_forward = """insert into mail.forward(name,forward_name,status) values ('%s','%s','Enabled') """ % (dep,user) cur.execute(add_forward) con.commit() except Exception,e: print type(e),e