feat: 美化输出 #27
@ -172,79 +172,6 @@ def output_results(
|
||||
print(txt_output)
|
||||
|
||||
|
||||
# def generate_text_content(results: Dict[str, List[Tuple[int, str]]]) -> str:
|
||||
# """
|
||||
# Generates a formatted text report for security analysis results.
|
||||
|
||||
# Args:
|
||||
# results (Dict[str, List[Tuple[int, str]]]): The security analysis results categorized by risk levels.
|
||||
|
||||
# Returns:
|
||||
# str: The formatted text report as a string.
|
||||
# """
|
||||
# text_output = (
|
||||
# f"{Fore.CYAN}{Style.BRIGHT}Security Analysis Report{Style.RESET_ALL}\n"
|
||||
# )
|
||||
# text_output += "=" * 30 + "\n\n"
|
||||
|
||||
# for risk_level, entries in results.items():
|
||||
# if entries and risk_level != "none":
|
||||
# risk_color = {
|
||||
# "high": Fore.RED,
|
||||
# "medium": Fore.YELLOW,
|
||||
# "low": Fore.GREEN,
|
||||
# }.get(risk_level, Fore.WHITE)
|
||||
# risk_title = {
|
||||
# "High": "👹",
|
||||
# "Medium": "👾",
|
||||
# "Low": "👻",
|
||||
# }
|
||||
# text_output += f"{risk_color}{risk_level.capitalize()} Risk{risk_title[risk_level.capitalize()]}:{Style.RESET_ALL}\n"
|
||||
# text_output += "-" * (len(risk_level) + 6) + "\n"
|
||||
# for line_num, line in entries:
|
||||
# text_output += f" Line {line_num}: {line}\n"
|
||||
# text_output += "\n"
|
||||
|
||||
# return text_output
|
||||
|
||||
|
||||
# def output_results(
|
||||
# results: Dict[str, List[Tuple[int, str]]],
|
||||
# output_format: str,
|
||||
# output_file: Optional[str] = None,
|
||||
# ) -> None:
|
||||
# """
|
||||
# Outputs the security analysis results in the specified format.
|
||||
|
||||
# Args:
|
||||
# results (Dict[str, List[Tuple[int, str]]]): The security analysis results categorized by risk levels.
|
||||
# output_format (str): The format to output the results in. Supported formats: "pdf", "html", "md", "txt".
|
||||
# output_file (Optional[str]): The name of the file to save the output. If None, prints to the terminal.
|
||||
# """
|
||||
# OUTPUT_FORMATS = {"pdf", "html", "md", "txt"}
|
||||
|
||||
# if output_file:
|
||||
# file_name, file_ext = os.path.splitext(output_file)
|
||||
# if output_format not in OUTPUT_FORMATS:
|
||||
# output_format = "txt"
|
||||
# output_file = f"{file_name}.txt"
|
||||
# results_dir = os.path.dirname(output_file)
|
||||
# if not os.path.exists(results_dir) and results_dir != "":
|
||||
# os.makedirs(results_dir)
|
||||
# if output_format == "pdf":
|
||||
# output_pdf(results, output_file)
|
||||
# elif output_format == "html":
|
||||
# output_html(results, output_file)
|
||||
# elif output_format == "md":
|
||||
# output_markdown(results, output_file)
|
||||
# else: # Default to txt
|
||||
# output_text(results, output_file)
|
||||
# else:
|
||||
# # If no output file is specified, default to text output to the terminal.
|
||||
# txt_output = generate_text_content(results)
|
||||
# print(txt_output)
|
||||
|
||||
|
||||
def output_pdf(results: Dict[str, List[Tuple[int, str]]], file_name):
|
||||
doc = SimpleDocTemplate(file_name, pagesize=letter)
|
||||
story = []
|
||||
|
Loading…
x
Reference in New Issue
Block a user