12345678910111213141516171819202122232425262728293031323334353637383940 |
- import xlwt
- from utils.fileio import load_location, write_json
- def out_analyze(node_list, source, save_file: str, entire=False):
- book = xlwt.Workbook(encoding='utf-8')
- sheet = book.add_sheet("DataType")
- cols = ["Location", "Function", "DataType", "Purpose"]
- if entire:
- cols.remove("Function")
- for i in range(len(cols)):
- sheet.write(0, i, cols[i])
- tmp_row = 1
- for i in range(len(node_list)):
- node = node_list[i]
- file_path = node.file_path.replace('\\', '/').replace(source.replace('\\', '/') + '/', '').split('/')[-1]
- location = file_path + "#L" + str(node.line_no)
- for data_type, purpose in node.private_info:
- if not data_type:
- data_type = "None"
- if not purpose:
- purpose = "None"
- if not node.func_name:
- node.func_name = "None"
- sheet.write(tmp_row, 0, location)
- if not entire:
- sheet.write(tmp_row, 1, node.func_name)
- sheet.write(tmp_row, 2, data_type)
- sheet.write(tmp_row, 3, purpose)
- else:
- sheet.write(tmp_row, 1, data_type)
- sheet.write(tmp_row, 2, purpose)
- tmp_row += 1
- book.save(save_file)
|