改變郵件組顯示格式

按公司要求把已經存在的城市+部門(bjxxx,xmxxx)郵件組改成部門+城市(xxxbj,xxxxm)格式。

注意:原來的bjxxx組裏已經有人員,需要把原來的人員都刪除,然後再添加xxxbj郵件組。


#!/usr/bin/python
import sys
sys.path.append('/sw/systems/shared/python')
from DB import DB
con,cur = DB().connect()

#從數據庫裏列出符合bjxxx的郵件組
def mail_forward():
    query = """ SELECT  name,forward_name  from mail.forward WHERE `name` like 'bj%' or  `name` like 'xm%'  or  `name` like 'wx%'
    and name != 'wxa'
    """
    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()

#把bjxxx格式變成xxxbj格式
new_deps = {}
for f in forwards:
    str1 = f[0:2]
    str2 = f[2:]
    str2 +=str1
    new_deps.setdefault(f,str2)

try:
    for dep,users in forwards.items():
        print dep,users
        for user in users:
            delete = 'delete from mail.forward where name = "%s" and forward_name = "%s"' % (dep, user)
            cur.execute(delete)
        if dep in new_deps.keys():
            insert = 'insert ignore into mail.forward (name,forward_name) values("%s","%s")' % (dep,new_deps[dep])
            cur.execute(insert)
    con.commit()
except Exception,e:
    print type(e),e


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章