diff --git a/scripts/md_csv/md2csv.py b/scripts/md_csv/md2csv.py index cd302fd..4ca6519 100644 --- a/scripts/md_csv/md2csv.py +++ b/scripts/md_csv/md2csv.py @@ -1,23 +1,39 @@ # -*- coding: utf-8 -*- import os import re +import json +import pprint TOKEN_REGEX = r"""(\d+)(-)(\d+)(\.)(.+)""" -TOKEN_REGEX2 = r"""(\|)(\s*)([^\s]*)(\s*)(\|)(\s*)([^\s]*)(\s*)(\|)(\s*)([^\s]*)(\s*)(\|)(\s*)([^\s]*)(\s*)(\|)""" +TOKEN_REGEX2 = r"""(?:\|\s*)([^\s]*)(?:\s*)(?:\|\s*)([^\s]*)(?:\s*)(?:\|\s*)([^\s]*)(?:\s*)(?:\|\s*)([^\s]*)(?:\s*)""" def md2csv(mdfile): state = 0 + log_dict = {} + curr_node = None for line in open(mdfile).readlines(): match = re.match(TOKEN_REGEX, line) if match: logclass1, _, logclass2, _, title = match.groups() state = 1 + assert((logclass1 + '-' + logclass2) not in log_dict) + curr_node = {} + log_dict[logclass1 + '-' + logclass2] = curr_node +# print('') # print(logclass1, logclass2, title) continue match2 = re.match(TOKEN_REGEX2, line) - if match2: - _, _, field1, _, _, _, field2, _, _, _, field3, _, _, _, field4, _, _, = match2.groups() - print(field1, field2, field3, field4) - + if match2 and state == 1: + field1, field2, field3, field4 = match2.groups() + if field1[0] != '-' and field1 != '字段': + curr_node[field1.replace('\\', '')] = { + 'short_name': field1.replace('\\', ''), + 'en_name': field2.replace('\\', ''), + 'desc': field4 + } +# print(field1 + ',' + field2 + ',' + field3 + ',' + field4) + #end for +# pprint.pprint(log_dict) + print(json.dumps(log_dict, sort_keys=True, indent=4, separators=(',', ': '))) md2csv('/root/opensource/doc/api说明/gamelog.md')