From c1697308bccdf068412e91053647091f420fc4f5 Mon Sep 17 00:00:00 2001 From: dogeystamp Date: Thu, 24 Aug 2023 19:48:21 -0400 Subject: [PATCH] delete everything --- README.md | 9 ------- docs/README.md | 1 - docs/config.py | 73 -------------------------------------------------- main.py | 65 -------------------------------------------- 4 files changed, 148 deletions(-) delete mode 100644 README.md delete mode 100644 docs/README.md delete mode 100644 docs/config.py delete mode 100644 main.py diff --git a/README.md b/README.md deleted file mode 100644 index 261f148..0000000 --- a/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# calendar-tool -A tool to add a 6-day schedule to calendar apps. -Outputs in csv format. - -An example config is available in docs/config.py. - -**Note from future me:** -The code quality is garbage on this but the tool has faithfully served me for 2 years now 👍 -Thank you past me diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 59b6c4e..0000000 --- a/docs/README.md +++ /dev/null @@ -1 +0,0 @@ -This is an example config. Move it to the same folder as main.py for it to work. diff --git a/docs/config.py b/docs/config.py deleted file mode 100644 index 995f6f4..0000000 --- a/docs/config.py +++ /dev/null @@ -1,73 +0,0 @@ -import datetime - -class s_class: - def __init__(self, name, period,): - self.name = name - self.period = period -# If there are two periods that are identical, merge them -merge_periods = True - -# Start times of each period -start_times = { - 1: datetime.time(8,45,0), - 2: datetime.time(9,30,0), - 3: datetime.time(10,30,0), - 4: datetime.time(11,15,0), - 5: datetime.time(13,0,0), - 6: datetime.time(13,45,0), - 7: datetime.time(14,45,0), -} -# End times of each period -end_times = { - 1: datetime.time(9,30,0), - 2: datetime.time(10,15,0), - 3: datetime.time(11,15,0), - 4: datetime.time(12,0,0), - 5: datetime.time(13,45,0), - 6: datetime.time(14,30,0), - 7: datetime.time(15,45,0), -} -# Classes that you can put in periods -classes = [s_class("Gym",1), #1, - s_class("Maths",1), #2 - s_class("English",1),#3 - s_class("ECR",1),#4 - s_class("French",1),#5 - s_class("Science",1),#6 - s_class("Spanish",1),#7 - s_class("History",1),#8 - s_class("Geography",1), #9 - s_class("Drama",1),#10 - s_class("Music",1)] #11 -# Which classes you put in each period for each day in the cycle -schedule_dict = {1:[5,5,7,1,2,8,3], - 2:[6,6,2,2,3,3,4], - 3:[9,9,2,2,6,6,5], - 4:[2,2,5,5,7,7,3], - 5:[5,5,1,1,10,10,6], - 6:[5,5,8,8,11,11,9]} - -# Start/end times of vacations (Only put the start time if it lasts one day) -vacation_days = [[datetime.datetime(2020,9,7,0,0,0,0)], - [datetime.datetime(2020,10,12,0,0,0,0)], - [datetime.datetime(2020,11,2,0,0,0,0), - datetime.datetime(2020,11,6,0,0,0,0)], - [datetime.datetime(2020,12,23,0,0,0,0), - datetime.datetime(2021,1,5,0,0,0,0)], - [datetime.datetime(2021,3,1,0,0,0,0), - datetime.datetime(2021,3,5,0,0,0,0)], - [datetime.datetime(2021,4,2,0,0,0,0), - datetime.datetime(2021,4,9,0,0,0,0)], - [datetime.datetime(2021,5,24,0,0,0,0)], - [datetime.datetime(2020,11,20,0,0,0,0)], - [datetime.datetime(2020,11,27,0,0,0,0)]] -# In the event you need to completely disrupt the cycle, add an exception -exceptions = [ - [datetime.datetime(2021,4,22,0,0,0,0),3], - [datetime.datetime(2021,4,23,0,0,0,0),1]] -# Start of the schedule year -start_date = datetime.datetime(2020, 8, 28, 0, 0, 0, 0) -# End of the schedule year -end_date = datetime.datetime(2021, 6, 22, 0, 0, 0, 0) -# In case you're too lazy to modify the start date or vacation days -offset = 0 diff --git a/main.py b/main.py deleted file mode 100644 index 24ab1a0..0000000 --- a/main.py +++ /dev/null @@ -1,65 +0,0 @@ -import csv -import datetime -from config import * - -step = datetime.timedelta(days = 1) -day = 1 -for i in range(offset): - start_date += step - - -with open('calendar.csv', mode='w') as calendar: - calendar_writer = csv.writer(calendar, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - calendar_writer.writerow(['Subject', 'Start Date', 'Start Time','End Date','End Time', 'All day event', 'Description' ,'Location']) - -def period_to_time(start,period): - if start: - return start_times[period].strftime("%H:%M") - - else: - return end_times[period].strftime("%H:%M") - -def write_file(subject,date,long): - with open('calendar.csv', mode='a') as calendar: - calendar_writer = csv.writer(calendar, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - p2 = subject.period - if long: - p2 +=1 - calendar_writer.writerow([subject.name, str(date.month) + "/"+ str(date.day) + "/" +str(date.year), period_to_time(True,subject.period),str(date.month) + "/"+ str(date.day) + "/" +str(date.year),period_to_time(False,p2),"FALSE", day]) - -current_date = start_date-step - -while True: - current_date += step - school = True - for vacation in vacation_days: - if(len(vacation)>1): - if current_date >= vacation[0] and current_date <= vacation[1]: - school = False - break - else: - if current_date == vacation[0]: - school = False - break - for exception in exceptions: - if exception[0] == current_date: - day = exception[1] - if not school: - continue - if current_date > end_date: - break - if current_date.weekday() == 5 or current_date.weekday() == 6: - continue - schedule = schedule_dict[day] - for period_order, period_id in enumerate(schedule): - class_object = classes[period_id-1] - class_object.period = period_order + 1 - long_period = False - if period_order < len(schedule_dict) and schedule[period_order+1] == period_id and merge_periods: - long_period = True - if period_order > 0 and schedule[period_order-1] == period_id and merge_periods: - continue - write_file(class_object, current_date, long_period) - day += 1 - if day > len(schedule_dict): - day = 1