added actuall event creation
This commit is contained in:
		
							parent
							
								
									6b39ed588d
								
							
						
					
					
						commit
						0b97ad1e49
					
				
							
								
								
									
										28
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								main.py
									
									
									
									
									
								
							| @ -85,8 +85,8 @@ def sort_events(events: list[Event]) -> list[Event]: | |||||||
|     events = sorted(events, key=lambda k: (k.start_date, k.start_time)) |     events = sorted(events, key=lambda k: (k.start_date, k.start_time)) | ||||||
|     return events |     return events | ||||||
| 
 | 
 | ||||||
| def add_event(events: list[Event], | def create_event(name: str, | ||||||
|               name: str, |               location: str, | ||||||
|               categories: str, |               categories: str, | ||||||
|               description: str, |               description: str, | ||||||
|               start, |               start, | ||||||
| @ -94,7 +94,7 @@ def add_event(events: list[Event], | |||||||
|     """create event""" |     """create event""" | ||||||
|     # pylint: disable=too-many-arguments |     # pylint: disable=too-many-arguments | ||||||
|     event = Event(name, |     event = Event(name, | ||||||
|                   "Main Campus", |                   location, | ||||||
|                   "", |                   "", | ||||||
|                   start.strftime("%Y-%m-%d"), |                   start.strftime("%Y-%m-%d"), | ||||||
|                   start.strftime("%I:%M %p"), |                   start.strftime("%I:%M %p"), | ||||||
| @ -108,7 +108,8 @@ def add_event(events: list[Event], | |||||||
|                   "", |                   "", | ||||||
|                   "", |                   "", | ||||||
|                   description) |                   description) | ||||||
|     events.append(event) |     return event | ||||||
|  |     # events.append(event) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def write_calendar(events: list[Event]) -> None: | def write_calendar(events: list[Event]) -> None: | ||||||
| @ -133,13 +134,17 @@ def write_calendar(events: list[Event]) -> None: | |||||||
|         writer.write() |         writer.write() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def process_day(events, day_events): | def process_day(events, year, month, day, day_events): | ||||||
|     """process all events for one day""" |     """process all events for one day""" | ||||||
|     for event_item in day_events: |     for event_item in day_events: | ||||||
|         debug_print(f"        {event_item}", DEBUG) |         start = datetime(year, month, day, event_item[0], event_item[1]) | ||||||
|  |         finish = datetime(year, month, day, event_item[2], event_item[3]) | ||||||
|  |         debug_print(f"       {start:%H:%M}-{finish:%H:%M}   {event_item[6]:25}  {event_item[4]:11}  {event_item[5]:16}  {event_item[7]:70.70}", DEBUG) | ||||||
|  |         event = create_event(event_item[6], event_item[4], event_item[5], event_item[7], start, finish) | ||||||
|  |         events.append(event) | ||||||
|     return events |     return events | ||||||
| 
 | 
 | ||||||
| def process_month(MONTHS, monthly_events, week_of_month, week, events): | def process_month(MONTHS, monthly_events, year, month, week_of_month, week, events): | ||||||
|     """process one MONTHS of events""" |     """process one MONTHS of events""" | ||||||
|     for day_of_week, day in enumerate(week): |     for day_of_week, day in enumerate(week): | ||||||
|         if day > 0: |         if day > 0: | ||||||
| @ -149,26 +154,25 @@ def process_month(MONTHS, monthly_events, week_of_month, week, events): | |||||||
|             """ |             """ | ||||||
|             debug_print(f"  {day_of_week}-{day:02d}", DEBUG) |             debug_print(f"  {day_of_week}-{day:02d}", DEBUG) | ||||||
|             day_events = [x[1:] for x in monthly_events[day_of_week] if week_of_month + 1 in x[0]] |             day_events = [x[1:] for x in monthly_events[day_of_week] if week_of_month + 1 in x[0]] | ||||||
|             # debug_print(day_events, DEBUG) |             events = process_day(events, year, month, day, day_events) | ||||||
|             events = process_day(events, day_events) |  | ||||||
|     debug_print("", DEBUG) |     debug_print("", DEBUG) | ||||||
|     return events |     return events | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def process_months(MONTHS, monthly_events): | def process_months(MONTHS, monthly_events, year): | ||||||
|     """process full year of MONTHS and return list of events""" |     """process full year of MONTHS and return list of events""" | ||||||
|     events = [] |     events = [] | ||||||
|     for month in range(1, 13): |     for month in range(1, 13): | ||||||
|         debug_print(f"MONTH: {month}", DEBUG) |         debug_print(f"MONTH: {month}", DEBUG) | ||||||
|         for week_of_month, week in enumerate(MONTHS[month]): |         for week_of_month, week in enumerate(MONTHS[month]): | ||||||
|             debug_print(f"{week_of_month} {week}", DEBUG) |             debug_print(f"{week_of_month} {week}", DEBUG) | ||||||
|             events = process_month(MONTHS, monthly_events, week_of_month, week, events) |             events = process_month(MONTHS, monthly_events, year, month, week_of_month, week, events) | ||||||
|     return events |     return events | ||||||
| 
 | 
 | ||||||
| @click.command() | @click.command() | ||||||
| def main(): | def main(): | ||||||
|     """create csv file""" |     """create csv file""" | ||||||
|     events = process_months(MONTHS, monthly_events)  |     events = process_months(MONTHS, monthly_events, YEAR)  | ||||||
|     events = sort_events(events) |     events = sort_events(events) | ||||||
|     write_calendar(events) |     write_calendar(events) | ||||||
|     sys.exit(0) |     sys.exit(0) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user