Skip to content

Instantly share code, notes, and snippets.

@k12ish
Last active January 23, 2023 09:34
Show Gist options
  • Save k12ish/b74d194f0c4247fd5074aaef697e6fc4 to your computer and use it in GitHub Desktop.
Save k12ish/b74d194f0c4247fd5074aaef697e6fc4 to your computer and use it in GitHub Desktop.
Script to generate supervision timetable
from ics import Calendar, Event
from datetime import datetime, timedelta
# init the calendar
cal = Calendar()
def new(topic, weeks, days):
for week in [timedelta(days=w*7) for w in weeks]:
event = Event()
event.name = topic + ' Supo'
event.begin = datetime(2023, 1, 16, 7, 0, 0) + week + days
cal.events.add(event)
MON = timedelta(days=0)
TUE = timedelta(days=1)
WED = timedelta(days=2)
THU = timedelta(days=3)
FRI = timedelta(days=4)
SAT = timedelta(days=5)
SUN = timedelta(days=6)
new("Mechanics", [2,4,6,8], THU )
new("Structures", [1,3,5,7], MON)
new("Materials", [1], FRI)
new("Thermofluids", [1,3,5], WED)
new("Electrical", [2,4,6,8], MON)
new("Info", [2,4,6,8], WED)
new("Math", [3], TUE)
new("Math", [5,7], FRI),
f = open('example.ics', 'w')
f.writelines(cal)
@k12ish
Copy link
Author

k12ish commented Jan 23, 2023

Note to self: use pdftotext -layout input.pdf output.txt or pdftotext -table input.pdf output.txt to avoid copy/pasting from pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment