Simple Python-based web app to generate an iCalendar file from SIMASTER courses schedule.
- Open the demo or your server URL if you self-hosted it.
- Fill in all the fields
- Copy the iCalendar URL
- Subscribe to it using your preferred calendar app (e.g. Google Calendar)
Once you have deployed simaster.ics (or, just use the demo, you can directly utilize its API to make an iCalendar file.
- Method:
GET
- URI:
/ics
- Parameters:
username
: your SIMASTER account usernamepassword
: your SIMASTER account passwordperiod
: calendar period (e.g.20212
,20211
)type
: optional, calendar event type (possible values:exam
,class
)reuse_session
: optional, cache and reuse session (possible values:0
,1
)
Before deploying, make sure that you have already installed the
requirements (e.g. by using pip install -r requirements.txt
).
- Gunicorn:
gunicorn wsgi:app
- Flask Development Server:
python wsgi.py
- Heroku: use the provided (or your own)
Procfile
- Docker: use the
Dockerfile
docker build . -t simasterics
docker run -p 8000:8000 simasterics
Password encryption is feature that allows user password to be encrypted
(to hide plaintext password from the public calendar URL). To enable
this feature, you have to provide the following environment variables
(dotenv or .env
file is also supported).
SICS_ENABLE_PWD_ENC
set to1
SICS_PRIVATE_KEY
set to the Base64-encoded private key in PEM encoding and PKCS#8 format (you may want to usegenerate_key.py
)
Distributed under the MIT License.
Any form of contribution is highly appreciated. Feel free to contribute (or maybe even buying me a cofffee).