#!/usr/bin/env python

import polib, sys, Levenshtein

changed = False

if __name__ == '__main__':
	po = polib.pofile(sys.argv[1])

	for entry in po.fuzzy_entries():
		entry.msgstr = ""
		changed = True
	for entry in po:
		if entry.msgid == entry.msgstr:
			entry.msgstr = ""
			changed = True
		if len(entry.msgstr) > 0:
			try:
				entry.msgstr.decode('ascii')
			except UnicodeEncodeError:
				pass
			else:
				d = Levenshtein.distance(unicode(entry.msgid), unicode(entry.msgstr))
				l = len(entry.msgid)
				r = d / float(l)
				if r < 0.3:
					entry.msgstr = ""
					changed = True
	if changed:
		po.save()

