33"""
44
55import datetime
6+ import time
67from decimal import Decimal
78
89import jinja2
910
1011from pebblo .reports .enums .report_libraries import library_function_mapping
11- import time
12+ from pebblo . reports . libs . logger import logger
1213
1314
1415def date_formatter (date_obj ):
@@ -30,21 +31,28 @@ def get_file_size(size):
3031
3132
3233def convert_html_to_pdf (data , output_path , template_name , search_path , renderer ):
33- """Convert HTML Template to PDF by embedding JSON data"""
34- template_loader = jinja2 .FileSystemLoader (searchpath = search_path )
35- template_env = jinja2 .Environment (loader = template_loader )
36- template = template_env .get_template (template_name )
37- current_date = (
38- datetime .datetime .now ().strftime ("%B %d, %Y" ) + " " + time .localtime ().tm_zone
39- )
40- source_html = template .render (
41- data = data ,
42- date = current_date ,
43- datastores = data ["dataSources" ][0 ],
44- findingDetails = data ["dataSources" ][0 ]["findingsDetails" ],
45- loadHistoryItemsToDisplay = data ["loadHistory" ]["history" ],
46- dateFormatter = date_formatter ,
47- getFileSize = get_file_size ,
48- )
49- pdf_converter = library_function_mapping [renderer ]
50- pdf_converter (source_html , output_path , search_path )
34+ try :
35+ """Convert HTML Template to PDF by embedding JSON data"""
36+ template_loader = jinja2 .FileSystemLoader (searchpath = search_path )
37+ template_env = jinja2 .Environment (loader = template_loader )
38+ template = template_env .get_template (template_name )
39+ current_date = (
40+ datetime .datetime .now ().strftime ("%B %d, %Y" )
41+ + " "
42+ + time .localtime ().tm_zone
43+ )
44+ source_html = template .render (
45+ data = data ,
46+ date = current_date ,
47+ datastores = data ["dataSources" ][0 ],
48+ findingDetails = data ["dataSources" ][0 ]["findingsDetails" ],
49+ loadHistoryItemsToDisplay = data ["loadHistory" ]["history" ],
50+ dateFormatter = date_formatter ,
51+ getFileSize = get_file_size ,
52+ )
53+ pdf_converter = library_function_mapping [renderer ]
54+ status , result = pdf_converter (source_html , output_path , search_path )
55+ return status , result
56+ except Exception as e :
57+ logger .error (e )
58+ return False , ""
0 commit comments