import os import re from bi.models.permission import Permissions import re #得到当前路径 abspath=os.getcwd() #遍历当前路径目录下的所有*py文件 def get_allfile(path): result = [] for maindir, subdir, file_name_list in os.walk(path): # print('当前主目录') # print(maindir) # print('当前主目录下的所有目录') # print(subdir) # print('当前主目录下的所有文件') # print(file_name_list) for filename in file_name_list: if os.path.splitext(filename)[1]=='.py': # print(os.path.splitext(filename)[1]) apath = os.path .join(maindir, filename) # 合并成一个完整路径 result.append(apath) return result def getapproutes(apppathlist): all_routes=[] for path in apppathlist: routes=getblueprint(path) if routes: all_routes.extend(routes) return all_routes def getblueprint(path): with open(path, 'r', encoding='utf8') as file_object: text = file_object.read() ss = r'''=(.*)Blueprint\(\'(.*)\'(.*)__name__\)''' pattern = re.compile(ss) res = re.search(pattern, text) if res: blue=res.group(2) ss = '@' + blue + r'''.route\(\'''' + r'(.*)' + r'\'(.*)' + r'methods=\[\'(GET|POST)\'\]\)' res = re.findall(ss, text) if res: routes = [] for i in res: routes.append(blue + i[0]) # print(routes) return routes filelist=get_allfile(abspath) allroutes=getapproutes(filelist) # print(allroutes) text=str(allroutes) # print(text) routedict={ "action":'动作', 'dashboard':'首页', # 'group':'分组', 'permission':'权限', 'permissiongroup':'权限分组', 'project':'项目', 'report':"报表", 'logout':'退出', 'role':'角色', 'setting':'设置', 'user':'用户', 'login':'登录', 'index':'首页', 'create':'创建', 'do_create':'确定创建', 'update':'更新', 'do_update':'确认更新', 'do_delete':'确认删除', 'table_permission':'表格权限', 'assign_table_permission':'提交表格权限', 'audit':'审核' } for i,j in routedict.items(): # print(i) # print(j) text = re.sub(r"[^_]"+i, j, text) # print(allroutes) text = re.sub('group','分组', text) # print(text) text=text.replace('/',' ') text=text.replace("'",' ') text=text.replace("[",' ') maplist=text.split(',') print(allroutes) print(maplist) print(len(allroutes)==len(maplist))
遍历所有路由,并对中文映射
最新推荐文章于 2022-06-17 15:39:35 发布