You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | This script can be used to grep the source to tree to see which localized strings are in use.  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | author: corbett | 
					
						
							|  |  |  | usage: ./unused_strings.py Localizable.strings source_dir | 
					
						
							|  |  |  | eg:    ./unused_strings.py ../Signal/translations/en.lproj/Localizable.strings ../Signal/src | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import re | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def file_match(fname, pat): | 
					
						
							|  |  |  | 	try: | 
					
						
							|  |  |  | 		f = open(fname, "rt") | 
					
						
							|  |  |  | 	except IOError: | 
					
						
							|  |  |  | 		return | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	for i, line in enumerate(f): | 
					
						
							|  |  |  | 		if pat.search(line): | 
					
						
							|  |  |  | 			return True | 
					
						
							|  |  |  | 	f.close() | 
					
						
							|  |  |  | 	return False | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def rgrep_match(dir_name, s_pat): | 
					
						
							|  |  |  | 	pat = re.compile(s_pat) | 
					
						
							|  |  |  | 	for dirpath, dirnames, filenames in os.walk(dir_name): | 
					
						
							|  |  |  | 		for fname in filenames: | 
					
						
							|  |  |  | 			fullname = os.path.join(dirpath, fname) | 
					
						
							|  |  |  | 			match=file_match(fullname, pat) | 
					
						
							|  |  |  | 			if match: | 
					
						
							|  |  |  | 				return match | 
					
						
							|  |  |  | 	return False | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  | 	strings_file = sys.argv[1] | 
					
						
							|  |  |  | 	src_dir_name = sys.argv[2] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	for item in open(strings_file).readlines(): | 
					
						
							|  |  |  | 		grep_for = item.strip().split(' = ')[0].replace('"','') | 
					
						
							|  |  |  | 		if rgrep_match(src_dir_name, grep_for): | 
					
						
							|  |  |  | 			print item.strip() | 
					
						
							|  |  |  | 
 |