2023-04-03 11:04:31 +08:00

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)