Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import dircache, os, re, shutil
- dir1 = 'english/'
- dir2 = 'icelandic/'
- dest = 'merged/'
- def getLines(file):
- fh = open(file, 'r')
- lines = {}
- for l in fh.readlines():
- if l[:1] != '$':
- continue
- try:
- v = re.match("\$_\['(.*)'\].* '(.*?)';", l).groups()
- lines[v[0]] = v[1]
- except:
- continue
- fh.close()
- return lines
- def mergeFiles(file1, file2):
- # Merge the contents of the files and return. file2 items will prevail if items exist in both files.
- return dict(getLines(file1).items() + getLines(file2).items())
- def writeFile(filename, contents):
- lines = ["<?php\n"]
- for k in contents.keys():
- lines.append("$_['%s'] = '%s';\n" % (k, contents[k]))
- lines.append("?>\n")
- fh = open(filename, 'w')
- fh.writelines(lines)
- fh.close()
- shutil.copytree(dir1, dest)
- for f in dircache.listdir(dir1):
- if os.path.isdir(dir1+f):
- # Go through subdirectories
- for file in dircache.listdir(dir1 + f):
- filename = str(f) + '/' + str(file)
- print filename
- if not os.path.exists(dir2 + filename):
- # Need to copy dir1 file to dest
- shutil.copyfile(dir1 + filename, dest + filename)
- else:
- # Compare contents (translation strings)
- merged = mergeFiles(dir1 + filename, dir2 + filename)
- writeFile(dest+filename, merged)
- else:
- # Is a file, probably <language.php> in the root folder.
- merged = mergeFiles(dir1 + f, dir2 + dir2[:-1] + '.php')
- writeFile(dest+dir2[:-1] + '.php',merged)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement