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