1#!/usr/bin/python -u
2
3# This assumes there is a list of unused strings to be deleted from all the
4# i18n files in a files called unused.txt in the current dir.
5
6import os
7
8i18n_dir = "../../src/resources/i18n"
9
10i18n_dir_files = os.listdir( i18n_dir )
11
12strs_to_delete = []
13
14anal_fl = file( "unused.txt", 'r' )
15
16for to_del in anal_fl:
17	to_del = to_del.strip()
18	strs_to_delete.append( to_del )
19
20anal_fl.close()
21
22for fn in i18n_dir_files:
23
24	full_path = i18n_dir + "/" + fn
25
26	if os.path.isfile( full_path ) and fn.endswith( ".properties" ):
27
28		fl = file( full_path, 'r' )
29		new_fl = None
30		new_fl_contents = ""
31
32		for ln in fl:
33			delete_this_line = False
34			if ln.find( '=' ) != -1:
35				( key, val ) = ln.split( '=', 1 )
36				key = key.strip()
37				if key in strs_to_delete:
38					if not new_fl:
39						new_fl = file( full_path + ".new", 'w' )
40					delete_this_line = True
41
42			if not delete_this_line:
43				new_fl_contents += ln
44
45		fl.close()
46
47		if new_fl:
48			new_fl.write( new_fl_contents )
49			new_fl.close()
50			os.rename( full_path, full_path + ".old" )
51			os.rename( full_path + ".new", full_path )
52			print "  Changed: " + full_path
53		else:
54			print "Unchanged: " + full_path
55
56
57