Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import MySQLdb
- import time
- from subprocess import call
- config = {
- 'user': '########',
- 'passwd': '########',
- 'host': '########',
- 'db': '########',
- }
- conn = MySQLdb.connect(**config)
- cur = conn.cursor()
- cur.execute("SELECT * FROM list_table")
- data = cur.fetchall()
- dbAliases = set()
- exAliases = set()
- for row in data:
- dbAliases.add(row[3])
- with open("sympa_aliases") as f:
- aliasesFile = f.readlines()
- for line in aliasesFile:
- if line[0] != '#':
- xline = line.split(' ')[0]
- cutFrom = xline.find('-')+1
- cutTo = xline.rfind('-')
- exAliases.add(xline[cutFrom:(cutTo if cutTo > cutFrom else -1)])
- newAliases = list(dbAliases - exAliases)
- newAliasTemplate = '''
- #------------------------------ {0}: list alias created {1}
- ml.int.uci.umk.pl-{0}: "| /usr/libexec/sympa/queue {0}@ml.int.uci.umk.pl"
- ml.int.uci.umk.pl-{0}-request: "| /usr/libexec/sympa/queue {0}-request@ml.int.uci.umk.pl"
- ml.int.uci.umk.pl-{0}-editor: "| /usr/libexec/sympa/queue {0}-editor@ml.int.uci.umk.pl"
- #ml.int.uci.umk.pl-{0}-subscribe: "| /usr/libexec/sympa/queue {0}-subscribe@ml.int.uci.umk.pl"
- ml.int.uci.umk.pl-{0}-unsubscribe: "| /usr/libexec/sympa/queue {0}-unsubscribe@ml.int.uci.umk.pl"
- ml.int.uci.umk.pl-{0}-owner: "| /usr/libexec/sympa/queue {0}@ml.int.uci.umk.pl"'''
- newAliasVirtualTemplate = '''
- #------------------------------ {0}: list alias created {1}
- {0}@ml.int.uci.umk.pl ml.int.uci.umk.pl-{0}
- {0}-request@ml.int.uci.umk.pl ml.int.uci.umk.pl-{0}-request
- {0}-editor@ml.int.uci.umk.pl ml.int.uci.umk.pl-{0}-editor
- {0}-unsubscribe@ml.int.uci.umk.pl ml.int.uci.umk.pl-{0}-unsubscribe
- {0}-owner@ml.int.uci.umk.pl ml.int.uci.umk.pl-{0}-owner'''
- for alias in newAliases:
- with open("sympa_aliases", "a") as f:
- f.write(newAliasTemplate.format(alias, time.strftime("%x")))
- with open("sympa_virtual", "a") as f:
- f.write(newAliasVirtualTemplate.format(alias, time.strftime("%x")))
- call(['postalias', 'sympa_aliases'])
- call(['postmap', 'sympa_virtual'])
- call(['systemctl', 'restart', 'postfix'])
- cur.close()
- conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement