Skip to content
This repository has been archived by the owner on Jul 5, 2020. It is now read-only.
/ qisbot Public archive

An attempt of grade retrieval automation from my university's QIS system

License

Notifications You must be signed in to change notification settings

nscuro/qisbot

Repository files navigation

Build Status Project Status

qisbot

Screenshot

Features

  • Fetching of exam results / grades from your university's FH Kiel's QIS server
  • Local storage of those results, always accessible
  • Notifications for new or updated exam results / grades
  • qisbot comes with support for notifications to stdout and e-mail
  • You can easily extend qisbot with your own notifications

Installation

  • Install Python 3, any version >= 3.4 will do
  • Installers and ZIP packages can be downloaded from here
  • It is Pre-installed on many recent GNU/Linux distributions or can be installed using apt, pacman, homebrew or similar package managers
  • Download or clone this repository and install the dependencies via pip:
  • pip3 install -r requirements.txt
  • You may want to use a virtual environment for this
  • You're all set! qisbot can now be startet with python3 runqisbot.py

Usage

  • Get an overview of qisbot's functionality: python3 runqisbot.py -h
  • Print all locally available exam results: python3 runqisboty.py -p
  • Force a refresh of all exam results from QIS: python3 runqisbot.py -f
  • This will trigger notifies (if configured)
  • So the typical use-case would be: python3 runqisbot.py -f -p
  1. Fetch results from QIS, compare with locally stored ones
  2. When reasonable & configured, execute notifications
  3. Print a table of the current data

Configuration

qisbot lives from its configurability. Per default, it will look for a file named qisbot.ini its root directory. You can specify a custom location via the --config argument.

This is how a qisbot configuration file should look like (see sample_config.ini)

[QIS]
# Your login credentials
username = <YOUR_USERNAME>
password = <YOUR_PASSWORD>

# URL to the login page of your QIS instance
baseUrl = https://<QIS_DOMAIN>/qisserver/rds?state=user&type=0

[NOTIFICATIONS]
# Notify on new exam results?
on_new = true

# Notify on updated exam results?
on_changed = true

# Notify via standard output (console / terminal)?
stdout = true

# Notify via E-Mail?
# As of v0.9, an E-Mail for each exam that is new or has been updated is sent.
# Depending on your semester, this can add up to a lot of mails flooding your inbox,
# so you may want to keep this disabled for your first run
email = false

[EMAIL NOTIFY]
# This is only required when 'email' in the [NOTIFICATIONS] section is true!

# Connection data of your SMTP server
# You may be able to use the E-Mail account provided by your university here...
host = <SMTP_SERVER_DOMAIN>
port = <SMTP_PORT>
ssl = false

# Your login credentials
username = <YOUR_SMTP_USERNAME>
password = <YOUR_SMTP_PASSWORD>

# You can test the information provided above by executing qisbot with the '--test-email' flag
# qisbot will then attempt a login on using the information provided and output the result

# The E-Mail address to send notifications to
destination = <YOUR_DESTINATION_EMAIL_ADDRESS>

About

An attempt of grade retrieval automation from my university's QIS system

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages