# -*- coding: sjis -*-
import re
import glob
import os
#----------------------------------------------------------------------

def main():
	
	str_dic = loadStrData("filename")
	
	for k in str_dic.keys():
		print k , str_dic[k]

	for (path,dirs,files) in os.walk('.'):
		for f in files:
			# 変換後のファイルは対象外
			if( re.search(r'_mod.[ch]$' , f ) ):
				continue
			if( re.search(r'.[ch]$' , f ) ):
				addstr( path + '\\' + f , str_dic)
	
def addstr(filename, str_dic ):
	
	f = open(filename)
	fo = open( filename[:-2] + '_mod' + filename[-2:] , "w" )
	
	for line in f:
		try:
			line = re.sub(r"(C_STR_[a-zA-Z0-9_]*)" ,lambda x: x.group(1) + '/* ' + str_dic[x.group(1)] + ' */' , line )
		except:
			pass
		
		fo.write(line)
		
	f.close()
	fo.close()

def loadStrData(filename):
	
	f = open(filename)
	
	str_dic = {}
	for line in f:
		m = re.search(r"<String Id=\"[^\"]*\" Name=\"(C_STR_.*)\" Encoding=\"S-JIS\">", line)
		if( m ):
			str_id = m.group( 1 )
		
		m = re.search("<Text>(.*)</Text>" , line )
		if( m ):
			str_val = m.group( 1 ) 
			str_dic[ str_id] = str_val
	
	f.close()
	
	return str_dic

if __name__ == '__main__':
	main()
