觉醒时刻
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

#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())