@@ -142,12 +142,42 @@ def update_html(releases_data):
142142 outfile .write (f'<li>{ prefix } <a href="{ release ["html_url" ]} ">{ release ["name" ]} ({ release ["tag_name" ]} )</a></li>\n ' )
143143 outfile .write ('</ul>\n ' )
144144
145+ def generate_html_table (dependencies ):
146+ all_keys = set ()
147+ for dep in dependencies .values ():
148+ all_keys .update (dep .keys ())
149+
150+ all_keys = sorted (all_keys , key = lambda k : sum (1 for dep in dependencies .values () if k in dep ), reverse = True )
151+
152+ html_content = '<html>\n <head>\n <title>Dependencies Table</title>\n </head>\n <body>\n '
153+ html_content += '<table border="1">\n <tr><th>Dependency</th>'
154+
155+ for key in all_keys :
156+ html_content += f'<th>{ key } </th>'
157+ html_content += '</tr>\n '
158+
159+ for dep_name , dep_details in dependencies .items ():
160+ html_content += f'<tr><td>{ dep_name } </td>'
161+ for key in all_keys :
162+ if key in dep_details :
163+ html_content += '<td>X</td>'
164+ else :
165+ html_content += '<td></td>'
166+ html_content += '</tr>\n '
167+
168+ html_content += '</table>\n </body>\n </html>'
169+ # Write to HTML file
170+ with open ('dependencies_table.html' , 'w' ) as file :
171+ file .write (html_content )
172+ return html_content
173+
145174def main ():
146175 filtered_releases = fetch_and_filter_releases ()
147176 releases_data = fetch_release_details (filtered_releases )
148177 update_html (releases_data )
149178 all_dependencies = fetch_all_dependencies (filtered_releases )
150- logging .info (f"Dependencies: { json .dumps (all_dependencies , indent = 4 )} " )
179+ # Generate Dependencies Table
180+ html_content = generate_html_table (all_dependencies )
151181
152182if __name__ == "__main__" :
153183 main ()
0 commit comments