This commit is contained in:
aozhiwei 2018-11-03 18:41:54 +08:00
parent a7abf541ad
commit a0df828dba

View File

@ -1,23 +1,39 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os import os
import re import re
import json
import pprint
TOKEN_REGEX = r"""(\d+)(-)(\d+)(\.)(.+)""" 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): def md2csv(mdfile):
state = 0 state = 0
log_dict = {}
curr_node = None
for line in open(mdfile).readlines(): for line in open(mdfile).readlines():
match = re.match(TOKEN_REGEX, line) match = re.match(TOKEN_REGEX, line)
if match: if match:
logclass1, _, logclass2, _, title = match.groups() logclass1, _, logclass2, _, title = match.groups()
state = 1 state = 1
assert((logclass1 + '-' + logclass2) not in log_dict)
curr_node = {}
log_dict[logclass1 + '-' + logclass2] = curr_node
# print('')
# print(logclass1, logclass2, title) # print(logclass1, logclass2, title)
continue continue
match2 = re.match(TOKEN_REGEX2, line) match2 = re.match(TOKEN_REGEX2, line)
if match2: if match2 and state == 1:
_, _, field1, _, _, _, field2, _, _, _, field3, _, _, _, field4, _, _, = match2.groups() field1, field2, field3, field4 = match2.groups()
print(field1, field2, field3, field4) 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') md2csv('/root/opensource/doc/api说明/gamelog.md')