π§ A Python-based system that converts retail event calendars (tab-delimited text files) into Google Calendar-compatible ICS files with notifications for both major and minor events.
Project Overview β’ Files β’ Installation β’ Usage β’ Retail Calendar Content β’ Visualization β’ Disclaimer
This project provides tools to convert tab-delimited retail event calendar text files into Google Calendar ICS files. It distinguishes between major events and minor events, categorizing them and generating notifications ahead of event dates.
Features:
- Generates separate ICS files for major and minor events.
- Creates notification reminders 1-3 months in advance for major events.
- Handles input files in tab-delimited text format.
| File Name | Description |
|---|---|
txt_to_ics_converter_internal.py |
Converts text files into separate ICS files for major and minor events. |
txt_to_ics_converter_external.py |
Creates ICS files with notifications for each event. |
To set up this project locally:
-
Clone the repository:
git clone https://github.com/ronknight/Text-to-Google-Calendar-CSV-Converter-Retail-Calendar.git cd Text-to-Google-Calendar-CSV-Converter-Retail-Calendar -
Install dependencies:
pip install python-dateutil
Use the txt_to_ics_converter_internal.py script:
python txt_to_ics_converter_internal.py- Input file:
retail-calendar-2025-final.txt - Outputs:
major_events.ics(Major events)minor_events.ics(Minor events)
Use the txt_to_ics_converter_external.py script:
python txt_to_ics_converter_external.py- Input file:
retail-calendar-2025-final.txt - Output:
events_with_notifications.ics(ICS file with notifications for events)
The file retail-calendar-2025-final.txt contains events and was curated from a 3rd-party website. It was processed both by AI tools and manually to select content relevant to 4sgm.com.
| Notification Date | Event Date | Event |
|---|---|---|
| 01-Oct-2024 | 01-Jan-2025 | New Year's Day |
| 14-Nov-2024 | 14-Feb-2025 | Valentine's Day |
| 20-Jan-2025 | 20-Mar-2025 | First Day of Spring |
| 25-Jan-2025 | 25-Mar-2025 | International Waffle Day |
| 01-Feb-2025 | 01-Apr-2025 | April Fool's Day |
| 20-Jan-2025 | 20-Apr-2025 | Easter Sunday |
| 10-Feb-2025 | 10-May-2025 | National Apple Pie Day |
| 11-Feb-2025 | 11-May-2025 | World Fair Trade Day |
| 14-Feb-2025 | 14-May-2025 | National Biscuit Day |
| 21-Feb-2025 | 21-May-2025 | National Pizza Day |
| 04-Mar-2025 | 04-Jun-2025 | National Cheese Day |
| 08-Apr-2025 | 08-Jul-2025 | World Chocolate Day |
| 04-May-2025 | 04-Aug-2025 | International Beer Day |
| 08-Jun-2025 | 08-Aug-2025 | International Cat Day |
| 12-Jun-2025 | 12-Aug-2025 | International Youth Day |
| 19-Jun-2025 | 19-Aug-2025 | World Photography Day |
| 26-Jun-2025 | 26-Aug-2025 | Women's Equality Day |
| 31-Jul-2025 | 31-Aug-2025 | National Eat Outside Day |
| 05-Jul-2025 | 05-Sep-2025 | International Day of Charity |
| 06-Jul-2025 | 06-Sep-2025 | Read a Book Day |
| 21-Jul-2025 | 21-Sep-2025 | International Day of Peace |
| 23-Jul-2025 | 23-Sep-2025 | First Day of Autumn |
| 29-Jul-2025 | 29-Sep-2025 | World Heart Day |
| 04-Aug-2025 | 04-Oct-2025 | World Animal Day |
| 10-Aug-2025 | 10-Oct-2025 | World Mental Health Day |
| 16-Aug-2025 | 16-Oct-2025 | World Food Day |
| 31-Aug-2025 | 31-Oct-2025 | Halloween |
| 01-Sep-2025 | 01-Nov-2025 | All Saints' Day |
| 11-Sep-2025 | 11-Nov-2025 | Remembrance Day |
| 26-Sep-2025 | 26-Nov-2025 | Thanksgiving (US) |
| 27-Sep-2025 | 27-Nov-2025 | Black Friday |
| 01-Oct-2025 | 01-Dec-2025 | World AIDS Day |
| 10-Oct-2025 | 10-Dec-2025 | Human Rights Day |
| 25-Oct-2025 | 25-Dec-2025 | Christmas Day |
| 31-Oct-2025 | 31-Dec-2025 | New Year's Eve |
graph TD
A[Input: Retail Calendar Text File] --> B[Read Events and Categorize]
B -->|Major Events| C[Generate Major ICS File]
B -->|Minor Events| D[Generate Minor ICS File]
C --> E[Save as major_events.ics]
D --> F[Save as minor_events.ics]
graph TD
A[Input: Retail Calendar Text File] --> B[Parse Event and Notification Dates]
B --> C[Generate Main Event in ICS Format]
B --> D[Generate Notification Event in ICS Format]
C --> E[Save to events_with_notifications.ics]
D --> E
This project processes date-sensitive retail calendars and generates notification files. Ensure that the input text files are correctly formatted. Always validate generated ICS files before importing them into calendar applications.