This repo contains the code behind the "Fak IV: Modulangebot SS20 / Kurs WirrWarr" spreadsheet, which was used as an enhanced course catalog for the summer term 2020 at TU Berlin, Faculty 4.
Warning This spreadsheet was only necessary for this one semester and is not maintained any longer.
During the first corona-semester at TU Berlin, the official course catalog was not maintained.
Official alternative: As a replacement, Faculty 4 published a list with over 250 courses, which were offered during the semester (see WayBackMachine capture).
Problems: The list was filled manually and contained multiple typos. Furthermore, this list did not contain any information about the study programs or study areas a course belongs to. This information is necessary for the students and had to be looked up manually in another database (see MTS). Thus, it was highly time-consuming to find fitting courses.
Solution: I combined these two data sources in the spreadsheet. This helped the students of Faculty 4 to choose their courses, in no time. It also detected above-mentioned typos, which were reported to the faculty administration.
There is no need for running this. The code will only reproduce the original spreadsheet: Fak IV: Modulangebot SS20 / Kurs WirrWarr.
- The jazzpi/mts-scraper was used to scrape MTS for every study program of Faculty 4. See
mts.sqlite
for the database. - Google Sheets API is used to fill the spreadsheet with the MTS data. Thus, you first have to setup a spreadsheet and API access:
- Duplicate my Google Spreadsheet TEMPLATE: Fak IV: Modulangebot SS20 / Kurs WirrWarr to a personal spreadsheet (
File
->Make a copy
). - Update
SPREADSHEET_ID
inmain.py
accordingly. - Create a
credentials.json
as described here. The result should look similar to this:{ "installed": { "client_id": "******************.apps.googleusercontent.com", "project_id": "******************", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_secret": "******************", "redirect_uris": [ "urn:ietf:wg:oauth:2.0:oob", "http://localhost" ] } }
- Duplicate my Google Spreadsheet TEMPLATE: Fak IV: Modulangebot SS20 / Kurs WirrWarr to a personal spreadsheet (
- Run
python3 main.py
and login to your Google account to authorize access to your spreadsheets. This will generate atoken.pickle
. - After a minute or two, your spreadsheet will look like this: Fak IV: Modulangebot SS20 / Kurs WirrWarr