Skip to content

Instantly share code, notes, and snippets.

@elephantum
Created February 23, 2010 13:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elephantum/312174 to your computer and use it in GitHub Desktop.
Save elephantum/312174 to your computer and use it in GitHub Desktop.
import re
import csv
import glob
re_userno = re.compile(r'MBC0812-user(\d+)', re.I)
def get_no(filename):
return re_userno.match(filename).group(1)
re_treename = re.compile(r'"TREENAME"="MBC0812-user(\d+)"', re.I | re.M)
def replace_treename(no, content):
return re_treename.sub('"TREENAME"="MBC0812-user%s"' % (no,), content)
def read_ufqdn_dict():
r = csv.reader(file('MBC000 VPN Detailed Design.csv'), delimiter=';')
r.next()
return dict((get_no(username), email)
for (username, email) in r)
re_ufqdn = re.compile(r'"UFQDN"="[\w\d]+@alarabiya.net"', re.I | re.M)
def replace_ufqdn(ufqdn_dict, no, content):
return re_ufqdn.sub('"UFQDN"="%s"' % (ufqdn_dict[no]), content)
def fix_one_file(ufqdn_dict, filename):
no = get_no(filename)
content = file(filename).read()
new_content = replace_treename(no, replace_ufqdn(ufqdn_dict, no, content))
file(filename, 'w+').write(new_content)
print filename, 'fixed'
if __name__ == '__main__':
ufqdn_dict = read_ufqdn_dict()
for filename in glob.glob('*.spd'):
fix_one_file(ufqdn_dict, filename)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment