documented EVENT_LIST
This commit is contained in:
		
							parent
							
								
									fe5b7eaae0
								
							
						
					
					
						commit
						0e8637edff
					
				
							
								
								
									
										336
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										336
									
								
								main.py
									
									
									
									
									
								
							| @ -10,8 +10,31 @@ from datetime import datetime | |||||||
| import sys | import sys | ||||||
| import click | import click | ||||||
| from dataclass_csv import DataclassWriter | from dataclass_csv import DataclassWriter | ||||||
|  | from events import EVENT_LIST, YEAR | ||||||
| 
 | 
 | ||||||
|  | """ | ||||||
|  | build a list of months / weeks / day of the month in those weeks | ||||||
|  |    months 1-12, weeks 0-5  days of week 5 6 are the 1st and 2nd of month | ||||||
|  |    MONTHS[1]    [0]        [ 0 0 0 0 0 1 2 ] | ||||||
| 
 | 
 | ||||||
|  | due to how months work | ||||||
|  |   week 0 can have null days (represented by 0's) | ||||||
|  |   weeks 1 - 4 will have all 7 days present | ||||||
|  |   week 5 may have 7 days or nulls | ||||||
|  |   week 6 can have a monday and/or tuesday in them if the 1st falls on a | ||||||
|  |          saturday or sunday in week 0 | ||||||
|  | 
 | ||||||
|  | EVENT_LIST has weeks as 1-6 while MONTHS has weeks as 0-5, offsetting will | ||||||
|  |   be necessary | ||||||
|  | """ | ||||||
|  | MONTHS: dict[int, list[list[int]]] | ||||||
|  | MONTHS = dict(enumerate([calendar.monthcalendar(YEAR, month) for month in | ||||||
|  |                          range(1, 13)], start=1)) | ||||||
|  | 
 | ||||||
|  | """ convert EVENT_LIST into EVENTS """ | ||||||
|  | events = [[] for _ in range(7)] | ||||||
|  | for event in EVENT_LIST: | ||||||
|  |     events[event[0]].append(event[1:]) | ||||||
| 
 | 
 | ||||||
| @dataclass | @dataclass | ||||||
| class Event(): | class Event(): | ||||||
| @ -33,12 +56,6 @@ class Event(): | |||||||
|     show_map: str |     show_map: str | ||||||
|     event_description: str |     event_description: str | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| YEAR: int = 2024 |  | ||||||
| MONTHS: dict[int, list[list[int]]] |  | ||||||
| MONTHS = dict(enumerate([calendar.monthcalendar(YEAR, month) for month in |  | ||||||
|                          range(1, 13)], start=1)) |  | ||||||
| 
 |  | ||||||
| def suffix(day: int) -> str: | def suffix(day: int) -> str: | ||||||
|     """convert day to suffix""" |     """convert day to suffix""" | ||||||
|     result: str = 'th' |     result: str = 'th' | ||||||
| @ -81,313 +98,6 @@ def add_event(events: list[Event], | |||||||
|                   description) |                   description) | ||||||
|     events.append(event) |     events.append(event) | ||||||
| 
 | 
 | ||||||
| def add_tuesdays(events: list[Event], |  | ||||||
|                 year: int, |  | ||||||
|                 month: int, |  | ||||||
|                 weeks: list[list[int]]) -> None: |  | ||||||
|     """add Tuesday events to calendar""" |  | ||||||
|     days = [day[1] for day in weeks if day[1]] |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Grief Share 6:00pm", |  | ||||||
|               "Grief Share", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[0], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[0], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Grief Share 6:00pm", |  | ||||||
|               "Grief Share", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[1], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[1], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Grief Share 6:00pm", |  | ||||||
|               "Grief Share", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[2], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[2], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Grief Share 6:00pm", |  | ||||||
|               "Grief Share", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[3], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[3], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     if len(days) == 5: |  | ||||||
|         add_event(events, |  | ||||||
|                   "Grief Share 6:00pm", |  | ||||||
|                   "Grief Share", |  | ||||||
|                   "", |  | ||||||
|                   datetime(year, month, days[4], 19, 00, 00), |  | ||||||
|                   datetime(year, month, days[4], 21, 00, 00), |  | ||||||
|                  ) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def add_wednesdays(events: list[Event], |  | ||||||
|                 year: int, |  | ||||||
|                 month: int, |  | ||||||
|                 weeks: list[list[int]]) -> None: |  | ||||||
|     """add Wednesday events to calendar""" |  | ||||||
|     days = [day[2] for day in weeks if day[2]] |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Mid Week Service 6:00pm", |  | ||||||
|               "Mid Week Service", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[0], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[0], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Mid Week Service 6:00pm", |  | ||||||
|               "Mid Week Service", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[1], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[1], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Mid Week Service 6:00pm", |  | ||||||
|               "Mid Week Service", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[2], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[2], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Mid Week Service 6:00pm", |  | ||||||
|               "Mid Week Service", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[3], 19, 00, 00), |  | ||||||
|               datetime(year, month, days[3], 21, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     if len(days) == 5: |  | ||||||
|         add_event(events, |  | ||||||
|                   "Mid Week Service 6:00pm", |  | ||||||
|                   "Mid Week Service", |  | ||||||
|                   "", |  | ||||||
|                   datetime(year, month, days[4], 19, 00, 00), |  | ||||||
|                   datetime(year, month, days[4], 21, 00, 00), |  | ||||||
|                  ) |  | ||||||
| 
 |  | ||||||
| def add_thursdays(events: list[Event], |  | ||||||
|                 year: int, |  | ||||||
|                 month: int, |  | ||||||
|                 days: list[list[int]]) -> None: |  | ||||||
|     """add Thursday events to calendar""" |  | ||||||
|     days = [day[3] for day in days if day[3]] |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Woman’s Meeting 10:00am", |  | ||||||
|               "Woman’s Meeting", |  | ||||||
|               "Woman 2 Woman Bible Study", |  | ||||||
|               datetime(year, month, days[0], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[0], 11, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Woman’s Meeting 10:00am", |  | ||||||
|               "Woman’s Meeting", |  | ||||||
|               "Woman 2 Woman Bible Study", |  | ||||||
|               datetime(year, month, days[1], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[1], 11, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Woman’s Meeting 10:00am", |  | ||||||
|               "Woman’s Meeting", |  | ||||||
|               "Woman 2 Woman Bible Study", |  | ||||||
|               datetime(year, month, days[2], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[2], 11, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Woman’s Meeting 10:00am", |  | ||||||
|               "Woman’s Meeting", |  | ||||||
|               "Woman 2 Woman Bible Study", |  | ||||||
|               datetime(year, month, days[3], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[3], 11, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     if len(days) == 5: |  | ||||||
|         add_event(events, |  | ||||||
|                   "Woman’s Meeting 10:00am", |  | ||||||
|                   "Woman’s Meeting", |  | ||||||
|                   "Woman 2 Woman Bible Study", |  | ||||||
|                   datetime(year, month, days[4], 10, 00, 00), |  | ||||||
|                   datetime(year, month, days[4], 11, 00, 00), |  | ||||||
|                  ) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def add_fridays(events: list[Event], |  | ||||||
|                 year: int, |  | ||||||
|                 month: int, |  | ||||||
|                 days: list[list[int]]) -> None: |  | ||||||
|     """add Friday events to calendar""" |  | ||||||
|     days = [day[4] for day in days if day[4]] |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "For Men Only 6:30pm", |  | ||||||
|               "Men’s Meeting", |  | ||||||
|               "Mens Bible Stude", |  | ||||||
|               datetime(year, month, days[0], 18, 30, 00), |  | ||||||
|               datetime(year, month, days[0], 19, 30, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "For Men Only 6:30pm", |  | ||||||
|               "Men’s Meeting", |  | ||||||
|               "Mens Bible Stude", |  | ||||||
|               datetime(year, month, days[1], 18, 30, 00), |  | ||||||
|               datetime(year, month, days[1], 19, 30, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "For Men Only 6:30pm", |  | ||||||
|               "Men’s Meeting", |  | ||||||
|               "Mens Bible Stude", |  | ||||||
|               datetime(year, month, days[2], 18, 30, 00), |  | ||||||
|               datetime(year, month, days[2], 19, 30, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "For Men Only 6:30pm", |  | ||||||
|               "Men’s Meeting", |  | ||||||
|               "Mens Bible Stude", |  | ||||||
|               datetime(year, month, days[3], 18, 30, 00), |  | ||||||
|               datetime(year, month, days[3], 19, 30, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     if len(days) == 5: |  | ||||||
|         add_event(events, |  | ||||||
|                   "Family Movie Night 7:00pm", |  | ||||||
|                   "Movie Night", |  | ||||||
|                   "Movie to be announced", |  | ||||||
|                   datetime(year, month, days[4], 19, 00, 00), |  | ||||||
|                   datetime(year, month, days[4], 21, 00, 00), |  | ||||||
|                  ) |  | ||||||
| 
 |  | ||||||
| def add_saturdays(events: list[Event], |  | ||||||
|                 year: int, |  | ||||||
|                 month: int, |  | ||||||
|                 weeks: list[list[int]]) -> None: |  | ||||||
|     """add Saturday events to calendar""" |  | ||||||
|     days = [day[5] for day in weeks if day[5]] |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Men's Breakfast 8:00am", |  | ||||||
|               "Men's Meeting", |  | ||||||
|               "", |  | ||||||
|               datetime(year, month, days[1], 8, 00, 00), |  | ||||||
|               datetime(year, month, days[1], 10, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
| def add_sundays(events: list[Event], |  | ||||||
|                 year: int, |  | ||||||
|                 month: int, |  | ||||||
|                 weeks: list[list[int]]) -> None: |  | ||||||
|     """add Sunday events to calendar""" |  | ||||||
|     days = [day[6] for day in weeks if day[6]] |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Evening Service 6:00pm", |  | ||||||
|               "Sunday Eventing Service", |  | ||||||
|               "Starts at 6:00 PM.", |  | ||||||
|               datetime(year, month, days[0], 18, 00, 00), |  | ||||||
|               datetime(year, month, days[0], 19, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Service 10:00am", |  | ||||||
|               "Sunday Service", |  | ||||||
|               "Prayer Room open from 8:30 AM to 9:30 AM. Worship Service " |  | ||||||
|               "starts at 10:00 AM. First Sunday of the month is " |  | ||||||
|               "Missions Sunday.", |  | ||||||
|               datetime(year, month, days[0], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[0], 12, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Evening Service 6:00pm", |  | ||||||
|               "Sunday Eventing Service", |  | ||||||
|               "Starts at 6:00 PM.", |  | ||||||
|               datetime(year, month, days[1], 18, 00, 00), |  | ||||||
|               datetime(year, month, days[1], 19, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Service 10:00am", |  | ||||||
|               "Sunday Service", |  | ||||||
|               "Prayer Room open from 8:30 AM to 9:30 AM. Worship Service " |  | ||||||
|               "starts at 10:00 AM. Second Sunday of the month is " |  | ||||||
|               "Baptism Sunday.", |  | ||||||
|               datetime(year, month, days[1], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[1], 12, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Evening Service 6:00pm", |  | ||||||
|               "Sunday Eventing Service", |  | ||||||
|               "Starts at 6:00 PM.", |  | ||||||
|               datetime(year, month, days[2], 18, 00, 00), |  | ||||||
|               datetime(year, month, days[2], 19, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Service 10:00am", |  | ||||||
|               "Sunday Service", |  | ||||||
|               "Prayer Room open from 8:30 AM to 9:30 AM. Worship Service " |  | ||||||
|               "starts at 10:00 AM. Third Sunday of the month is " |  | ||||||
|               "Communion Sunday.", |  | ||||||
|               datetime(year, month, days[2], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[2], 12, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Evening Service 6:00pm", |  | ||||||
|               "Sunday Eventing Service", |  | ||||||
|               "Starts at 6:00 PM.", |  | ||||||
|               datetime(year, month, days[3], 18, 00, 00), |  | ||||||
|               datetime(year, month, days[3], 19, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     add_event(events, |  | ||||||
|               "Sunday Service 10:00am", |  | ||||||
|               "Sunday Service", |  | ||||||
|               "Prayer Room open from 8:30 AM to 9:30 AM. Worship Service " |  | ||||||
|               "starts at 10:00 AM. Fourth Sunday of the month is " |  | ||||||
|               "Coins for Kids Sunday.", |  | ||||||
|               datetime(year, month, days[3], 10, 00, 00), |  | ||||||
|               datetime(year, month, days[3], 12, 00, 00), |  | ||||||
|              ) |  | ||||||
| 
 |  | ||||||
|     if len(days) == 5: |  | ||||||
|         add_event(events, |  | ||||||
|                   "Sunday Evening Service 6:00pm", |  | ||||||
|                   "Sunday Eventing Service", |  | ||||||
|                   "Starts at 6:00 PM.", |  | ||||||
|                   datetime(year, month, days[4], 18, 00, 00), |  | ||||||
|                   datetime(year, month, days[4], 19, 00, 00), |  | ||||||
|                  ) |  | ||||||
| 
 |  | ||||||
|         add_event(events, |  | ||||||
|                   "Sunday Service 10:00am", |  | ||||||
|                   "Sunday Service", |  | ||||||
|                   "Prayer Room open from 8:30 AM to 9:30 AM. Worship Service " |  | ||||||
|                   "starts at 10:00 AM. Fifth Sunday of the month is " |  | ||||||
|                   "Potluck Sunday", |  | ||||||
|                   datetime(year, month, days[4], 10, 00, 00), |  | ||||||
|                   datetime(year, month, days[4], 12, 00, 00), |  | ||||||
|                  ) |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| def write_calendar(events: list[Event]) -> None: | def write_calendar(events: list[Event]) -> None: | ||||||
|     """write calendar to csv file""" |     """write calendar to csv file""" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user