diff --git a/ts2panda/scripts/generate_plugin.py b/ts2panda/scripts/generate_plugin.py index 306e9696d26223c0d8a8410728e56b1b30b586d7..1744ee6e26743d46b6d9cf885273d1d83b7b5bec 100755 --- a/ts2panda/scripts/generate_plugin.py +++ b/ts2panda/scripts/generate_plugin.py @@ -104,17 +104,39 @@ def gen_java_method(input_arguments): # write method: getJsCode with open(js_src_file, "r") as input_src: - output.write(" public static String getJsCode() {%s" - % os.linesep) - output.write(" return%s" % os.linesep) lines = input_src.readlines() - for line in lines[:-1]: + # seperate_lines into blocks + single_block_len = 1024 + total_len = len(lines) + for index, line in enumerate(lines): + block_index = index // single_block_len line = line.strip(os.linesep) line = line.replace("\"", "\\\"") - output.write(" \"%s\\n\" +%s" % (line, os.linesep)) - - last_line = lines[-1].replace("\"", "\\\"").strip(os.linesep) - output.write(" \"%s\";%s" % (last_line, os.linesep)) + # generate getJsCode%s + if (index % single_block_len == 0): + output.write(" private static String getJsCode%s(){%s" + % (block_index, os.linesep)) + output.write(" return%s" % os.linesep) + if (index % single_block_len == single_block_len-1 or index == total_len - 1): + output.write(" \"%s\";%s" % (line, os.linesep)) + output.write(" }%s" % os.linesep) + else: + output.write(" \"%s\\n\" +%s" % (line, os.linesep)) + block_num = (total_len//single_block_len) + 1 + if total_len % single_block_len == 0: + block_num = total_len // single_block_len + # generate getJsCode + output.write( + " public static String getJsCode(){%s" % os.linesep) + output.write(" return %s" % os.linesep) + # let getJsCode call getJsCode%s + for index in range(block_num): + if (index != block_num - 1): + output.write(" getJsCode%s() +%s" % + (index, os.linesep)) + else: + output.write(" getJsCode%s() ;%s" % + (index, os.linesep)) output.write(" }%s" % os.linesep) output.write("%s" % os.linesep) @@ -167,4 +189,4 @@ def operate_file(input_arguments): if __name__ == "__main__": - operate_file(parse_args()) + operate_file(parse_args()) \ No newline at end of file