You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.6 KiB
85 lines
2.6 KiB
#encoding=utf-8
|
|
|
|
# Need to export the public configuration file (client, server needs) 需要导出的公共配置文件(客户端,服务器都需要)
|
|
EXPORT_FILES = [
|
|
]
|
|
|
|
# Additional configuration files that the client needs to export (only the client needs) 客户端额外需要导出的额外配置文件(仅客户端需要)
|
|
EXPORT_CLIENT_ONLY = [
|
|
]
|
|
|
|
# Server-side need to export the configuration file (only the server needs) 服务器端额外需要导出的配置文件(仅服务器需要)
|
|
EXPORT_SERVER_ONLY = [
|
|
]
|
|
|
|
# do not modify the following
|
|
|
|
import os
|
|
import platform
|
|
import traceback
|
|
import shutil
|
|
import sys
|
|
|
|
exportscript = 'tools/proton.py'
|
|
pythonpath = 'tools\\py37\\py37.exe ' if platform.system() == 'Windows' else 'python3 '
|
|
|
|
class ExportError(Exception):
|
|
pass
|
|
|
|
def export(filelist, format, sign, outfolder, suffix, schema):
|
|
if len(filelist) == 0: return
|
|
cmd = r' -p "' + ','.join(filelist) + '" -f ' + outfolder + ' -e ' + format + ' -s ' + sign
|
|
if suffix:
|
|
cmd += ' -t ' + suffix
|
|
if schema:
|
|
cmd += ' -c ' + schema
|
|
cmd = pythonpath + exportscript + cmd
|
|
code = os.system(cmd)
|
|
if code != 0:
|
|
raise ExportError('export excel fail, please see print')
|
|
|
|
def codegenerator(schema, outfolder, namespace, suffix):
|
|
if os.path.exists(schema):
|
|
cmd = 'tools\CSharpGeneratorForProton\CSharpGeneratorForProton.exe ' + '-n ' + namespace + ' -f ' + outfolder + ' -p ' + schema
|
|
if suffix:
|
|
cmd += ' -t ' + suffix
|
|
code = os.system(cmd)
|
|
os.remove(schema)
|
|
if code != 0:
|
|
raise ExportError('codegenerator fail, please see print')
|
|
|
|
def exportserver():
|
|
export(EXPORT_FILES + EXPORT_SERVER_ONLY, 'json', 'server', 'config_server', 'Config', 'schemaserver.json')
|
|
codegenerator('schemaserver.json', 'config_server/ConfigGenerator/Template', 'Ice.Project.Config', 'Template')
|
|
|
|
def exportclient():
|
|
export(EXPORT_FILES + EXPORT_CLIENT_ONLY, 'json', 'client', 'config_client', '', None)
|
|
|
|
def exportCurrentDir():
|
|
l = []
|
|
for filename in os.listdir("./"):
|
|
if filename.startswith("~"): continue
|
|
if filename.endswith(".xlsm") or filename.endswith(".xlsx"):
|
|
l.append(filename)
|
|
|
|
export(l, 'json', 'client', '../assets/resources/config/', '', None)
|
|
export(l, 'json', 'client', './config/', '', None)
|
|
|
|
def main():
|
|
try:
|
|
exportCurrentDir()
|
|
print("all operation finish successful")
|
|
return 0
|
|
except ExportError as e:
|
|
print(e)
|
|
print("has error, see logs, please return key to exit")
|
|
input()
|
|
return 1
|
|
except Exception as e:
|
|
traceback.print_exc()
|
|
print("has error, see logs, please return key to exit")
|
|
input()
|
|
return 1
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|
|
|