def diff_file(self):
'''删除多余文件夹并修改index.html文件''' ret,diff_results = self.process_diff() diffpaths_list = diff_results.keys() package_list = ret.keys() dirs_name = os.listdir(self.coco_path) del_dirs = list(set(dirs_name).difference(set(package_list))) for i in del_dirs: if os.path.isdir(os.path.join(self.coco_path, i)): # 若差集列表中的文件是文件夹则循环删除 re_file = os.path.join(self.coco_path, i) shutil.rmtree(re_file)//对多余的文件夹进行删除操作
htmlpath = os.path.join(self.coco_path,'index.html') new_package_list=[] for pack in package_list: java_path = os.path.join(self.coco_path,pack) java_list = [] fina_java_list = [] for java_name in ret[pack].keys(): java_file_name = "src/main/java/" + pack.replace(".","/") + "/" + java_name + ".java" if java_file_name in diffpaths_list: javafile_path = os.path.join(java_path,java_name+ '.html')//有差异的文件就生成相关的java的html报告文件
diff_void_list = diff_results[java_file_name]['diff_voids'].keys() if len(diff_void_list): self.Del_Dr(javafile_path,diff_void_list,ret,'file',java_file_name,diff_results) java_list.append(java_name + '.html') java_list.append(java_name + '.java.html') fina_java_list.append(java_name) new_package_list.append(pack)//并把新生成的文件记录到文件列表list中
fina_java_list = list(set(fina_java_list)) self.Del_Dr(os.path.join(java_path, 'index.html'),fina_java_list, ret[pack],'package') if len(java_list): java_list.append("index.html") java_list.append("index.source.html") java_dirs = os.listdir(java_path) del_javas = list(set(java_dirs).difference(set(java_list))) for d_java in del_javas: os.remove(os.path.join(java_path,d_java)) new_package_list = list(set(new_package_list)) self.Del_Dr(htmlpath,new_package_list, ret, 'root')
浙公网安备 33010602011771号