diff --git a/aggreg.py b/aggreg.py index 01a9450e7f114cbc835f4e1459984817de09a783..64af61b32d253ea270a987a34fbe0d0b0aefe52a 100644 --- a/aggreg.py +++ b/aggreg.py @@ -1,6 +1,8 @@ import feedparser from urllib.parse import urlparse from datetime import datetime +import time + def charge_urls(liste_url: list[str]) -> list[dict[str, any] | None]: # if the key 'bozo' is true, then the feed had an error during processing, so we set it to None @@ -31,7 +33,33 @@ def fusion_flux(liste_url: list[str], liste_flux: list[dict[str, any] | None], return feeds +def genere_html(liste_evenements: list[dict[str, str]], + chemin_html: str) -> None: + output = "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>Events log</title><link rel=\"stylesheet\" href=\"css/feed.css\" type=\"text/css\"/></head><body><article><header><h1>Events log</h1></header>" + output += f"<p>{time.asctime()}</p>" + for evenement in liste_evenements: + output += "<article><header>" + output += f"<h2>{evenement['titre']}</h2>" + output += "</header>" + output += f"<p>from: {evenement['serveur']}</p>" + output += f"<p>{evenement['date_publi']}</p>" + output += f"<p>{evenement['categorie']}</p>" + output += f"<p>{evenement['guid']}</p>" + output += f"<p><a href=\"{evenement['lien']}\">{evenement['lien']}</a></p>" + output += f"<p>{evenement['description']}</p>" + output += "</article>" + output += "</article></body></html>" + with open(chemin_html, "w") as outputfile: + outputfile.write(output) + + def main(): - raise NotImplementedError + urls = [f"http://192.168.78.{i}/rss.xml" for i in range(3, 15)] + charge = charge_urls(urls) + evenements = fusion_flux(urls, charge, None) + print(evenements) + genere_html(evenements, "aggreg.html") + + if __name__ == "__main__": main()