commit 2a2e158226e0776c9b45193e0aa3d3b0ab62f540 Author: Liliesh Date: Thu Jul 10 22:02:52 2025 +0200 Added firefox history summary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e130f0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.csv +*.json \ No newline at end of file diff --git a/firefox-history-summary/main.py b/firefox-history-summary/main.py new file mode 100644 index 0000000..ad8591e --- /dev/null +++ b/firefox-history-summary/main.py @@ -0,0 +1,43 @@ +import json +from urllib.parse import urlparse + +def sort_and_save_results(pages, fileName): + sortedpages = sorted(pages.items(), key=lambda x:x[1], reverse=True) + sorteddict = dict(sortedpages) + with open(f"{fileName}.csv", "w") as f: + f.write("page;visits\n") + for page, visits in sorteddict.items(): + f.write(f"{page};{str(visits)}\n") + +def get_results_by_url(history): + pages = {} + for i, hentry in enumerate(history): + pages[hentry["url"]] = hentry["vcount"] + sort_and_save_results(pages, "by-url") + +def get_results_by_domain(history): + pages = {} + for i, hentry in enumerate(history): + domain = urlparse(hentry["url"]).netloc + if domain not in pages: + pages[domain] = hentry["vcount"] + else: + pages[domain] = pages[domain] + hentry["vcount"] + + sort_and_save_results(pages, "by-domain") + +def main(): + with open('history.json', 'r') as file: + data = json.load(file) + + history = [] + + for entry in data: + history.append({"url": entry["url"], "title": entry["title"],"lvt": entry["lastVisitTime"],"vcount": entry["visitCount"]}) + + get_results_by_domain(history) + get_results_by_url(history) + + +if __name__ == "__main__": + main() \ No newline at end of file