import xml.etree.ElementTree as ET from datetime import datetime, timedelta root = ET.Element("opml", version="2.0") head = ET.SubElement(root, "head") ET.SubElement(head, "ownerEmail").text = "contact@gregoryleeman.com" body = ET.SubElement(root, "body") # Day colors for each weekday day_colors = ["red", "teal", "pink", "green", "yellow", "sky", "purple"] # Adjust start date to ensure weeks start on Sunday start_date = datetime(2025, 1, 5) for week_number in range(1, 53): week_outline = ET.SubElement(body, "outline", text=f"2025 Week {week_number}") ET.SubElement(week_outline, "outline", text="") # Empty bullet before the first day for day in range(7): current_date = start_date + timedelta(days=(week_number-1)*7 + day) day_name = current_date.strftime('%A') color = day_colors[current_date.weekday()] day_text = f"{day_name}" note_text = (f"") day_outline = ET.SubElement(week_outline, "outline", text=day_text, _note=note_text) ET.SubElement(day_outline, "outline", text="") # Output the XML as a string and print it xml_str = ET.tostring(root, encoding="unicode") print(xml_str)