79 lines
1.6 KiB
Python
79 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: UTF-8 -*-
|
|
|
|
#语言本地化工具
|
|
|
|
import os
|
|
import sys
|
|
import csv
|
|
|
|
def valid(key, value):
|
|
return (key != None and value != None)
|
|
|
|
def openOrCreate(path):
|
|
csv_reader = list(csv.reader(open(path,"rb"),delimiter='\t'))
|
|
return csv_reader
|
|
|
|
def write(path, key, value, ignorevaluecheck, fontName, luaPath):
|
|
# print(u"write")
|
|
flag = ""
|
|
if not valid(key, value):
|
|
flag = "key or value can't be null!"
|
|
return flag
|
|
rb = openOrCreate(path)
|
|
row_len = len(rb)
|
|
for i in range(1, row_len):
|
|
if rb[i][0] == key:
|
|
flag = "exist same key!"
|
|
break
|
|
|
|
if flag == "" and ignorevaluecheck == "False":
|
|
for i in range(1, row_len):
|
|
if i > 0 and rb[i][1] == value:
|
|
flag = "exist same value, key is " + rb[i][0]
|
|
break
|
|
|
|
if flag == "":
|
|
flag = "success"
|
|
csvfile = open(path,"a")
|
|
writer = csv.writer(csvfile,delimiter='\t')
|
|
writer.writerow([unicode(key),unicode(value),unicode(fontName)])
|
|
csvfile.close()
|
|
|
|
if flag == "success" and luaPath != "":
|
|
import exceltolua
|
|
exceltolua.do(path, luaPath)
|
|
|
|
return flag
|
|
|
|
# def read(path):
|
|
# print(u"read")
|
|
# workbook = openOrCreate(path)
|
|
# sheet = workbook.sheet_by_name('cn')
|
|
# return True
|
|
|
|
if __name__ == '__main__':
|
|
# print("start")
|
|
sys.stdout.flush()
|
|
args = sys.argv
|
|
if len(args) < 5:
|
|
sys.exit(1)
|
|
|
|
fontName = ""
|
|
if len(args) > 5:
|
|
fontName = args[5]
|
|
luaPath = ""
|
|
if len(args) > 6:
|
|
luaPath = args[6]
|
|
|
|
# print(args)
|
|
flag = write(args[1], args[2], args[3], args[4], fontName, luaPath)
|
|
print(flag)
|
|
# wtOrRd = args[1]
|
|
# if wtOrRd == "-w":
|
|
# write(args[2], args[3], args[4])
|
|
# elif wtOrRd == "-r":
|
|
# read()
|
|
# else:
|
|
# sys.exit(0)
|