1 Star 3 Fork 3

mirahs/pbtool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.py 1.41 KB
一键复制 编辑 原始数据 按行查看 历史
mirahs 提交于 2024-01-07 15:21 . python 3 运行
#!/usr/bin/env python
# coding:utf-8
import conf
import os
import copy
from proto import proto
protos_all = []
protos_file = {}
_data_proto = conf.data_proto if conf.data_proto.endswith('/') else conf.data_proto + '/'
for dirpath, dirnames, filenames in os.walk(_data_proto):
for filetmp in filenames:
filename = dirpath + filetmp
if os.path.isfile(filename):
if os.path.splitext(filename)[1] == '.proto':
file_proto = proto.parse(filename)
protos_all.extend(file_proto['protos'])
protos_file[filetmp.split('.')[0]] = file_proto
for lang in conf.langs_proto:
_lang = lang['lang']
_code_path = lang['code'] if lang['code'].endswith('/') else lang['code'] + '/'
if not os.path.exists(_code_path):
print(_code_path + ' 目录不存在')
continue
_common_path = ''
if 'common' in lang:
_common_path = lang['common'] if lang['common'].endswith('/') else lang['common'] + '/'
if not os.path.exists(_common_path):
print(_common_path + ' 目录不存在')
continue
_tmp_protos_all = copy.deepcopy(protos_all)
_tmp_protos_file= copy.deepcopy(protos_file)
lang_module = 'proto_' + _lang
exec('from proto import %s' % lang_module)
exec(lang_module + '.parse(_code_path, _common_path, _tmp_protos_all, _tmp_protos_file)')
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/mirahs/pbtool.git
[email protected]:mirahs/pbtool.git
mirahs
pbtool
pbtool
master

搜索帮助