Merge pull request 'Updated README, merges, cleaning up' (#4) from TussockyJoker/timtabla:master into master

Reviewed-on: Ugric/cov-to-ics#4
This commit is contained in:
Ugric committed 2026-09-17 18:05:12 +01:00
commit 21a6dc885a
7 files changed
+34 -13

No files matched your search

Vendored
BIN
View File
Binary file not shown.
+2 -1
View File
@@ -114,4 +114,5 @@ venv.bak/
.dmypy.json
dmypy.json
.vscode
.vscode
.DS_Store
+9 -10
View File
@@ -1,21 +1,20 @@
# cov-to-ics
Migrate the coventry university student timetable to an ics file
Web interface to retrieve and convert a coventry university student timetable to an '.ics. file.
# Instructions
# Setup
1. run `pip install -r requirements.txt`
2. if `calendar.ics` exists already, rename it to `old_calendar.ics`. This will allow the new calendar file to update events from the old calendar, and remove deleted events.
2. add an AES_KEY in the .env
3. log into the coventry university timetable website, go into inspect element, go to the network tab and copy the response from the first request (refresh if no requests are showing up)
3. run main.py
![copy response](images/step1.png)
# Usage
4. paste the response data into a file in the root of the repo called `response.txt`
1. go to the web interface (at http://localhost:3000 by default)
![Login Screen](images/login_example.png)
![paste response.txt](images/step2.png)
2. input your coventry university username and password (the one you would normally use to access the timetable website)
5. run `main.py`, and you'll hopefully see `calendar.ics` get created in the root folder of the repo :)
6. Upload that ics file to any calendar application, I imagine basically all of them allow you to upload an ics file (google calendar and thunderbird do).
3. either subscribe to the link in your calendar app (you will need to leave the server running for the updating to work) or download the .ics file and import it into your calendar app (e.g. Thunderbird, Apple Calendar)
Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

+5 -1
View File
@@ -36,7 +36,7 @@ def generate_auth(username, password):
print(URL.format(urllib.parse.quote_plus("hello/world")))
# print(URL.format(urllib.parse.quote_plus("hello/world")))
app = Flask(__name__)
@@ -56,6 +56,10 @@ def index():
return redirect("/dashboard")
return render_template("home.jinja")
@app.route("/about")
def about():
return render_template("about.jinja")
@app.route("/login", methods=["GET"])
def login():
status, username, password = get_auth()
+17
View File
@@ -0,0 +1,17 @@
{%set page_title = "Home"%}
{% extends "base.jinja" %}
{% block body %}
<div class="text-box">
<p>
Timtabla is based on code originally created by Oliver Bell and more recently updated by Will Bell (Ugric) and Ché
Shand (TussockyJoker). It is open-source and licensed under the AGPL, the code is available at git.wbell.dev.
</p>
<h1> A brief explanation </h1>
<p>
The way that timtabla (or cov2ics) works is by requesting your data from the Cov Uni server using your username and
password, these values are not stored on our server and this is no less secure than logging in to the timetable site directly.
Obviously this method is not supported by the University and is only possible due to their outdated system.
</p>
</div>
{% endblock %}
+1 -1
View File
@@ -4,7 +4,7 @@
<div class="text-box">
<p> Timtabla is a third-party website for Coventry University students to convert their timetable to an <code style="font-size: 17px;">.ics</code> file which can be imported into any modern calendar app.</p>
<b> We do not store your username or password on our server for security purposes.</b>
<b> We do not store your university credentials.</b>
<p> This website is based on open-source code developed by Coventry University
students, you can find this code at <a href="https://git.wbell.dev/Ugric/cov-to-ics">git.wbell.dev</a>
</p>