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