All Projects → tucanlib → tucan-tools

tucanlib / tucan-tools

Licence: GPL-3.0 license
Nomen est omen. It exports tucan grades/vv etc.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to tucan-tools

network exporter
ICMP & MTR & TCP Port & HTTP Get - Network Prometheus exporter
Stars: ✭ 162 (+575%)
Mutual labels:  exporter
extractors
Data extractors for import demo-date to the api
Stars: ✭ 44 (+83.33%)
Mutual labels:  exporter
jmx exporter-cloudera-hadoop
Prometheus jmx_exporter configurations for Cloudera Hadoop
Stars: ✭ 33 (+37.5%)
Mutual labels:  exporter
draftjs exporter
Library to convert Draft.js ContentState to HTML
Stars: ✭ 77 (+220.83%)
Mutual labels:  exporter
yoda
GitHub extension for agile project management, using the issues subsystem.
Stars: ✭ 86 (+258.33%)
Mutual labels:  exporter
nvidia smi exporter
nvidia-smi exporter for Prometheus
Stars: ✭ 66 (+175%)
Mutual labels:  exporter
ox-ssh
SSH config export for org-mode
Stars: ✭ 33 (+37.5%)
Mutual labels:  exporter
treeio
🌱 Base Classes and Functions for Phylogenetic Tree Input and Output
Stars: ✭ 70 (+191.67%)
Mutual labels:  exporter
tracboat
Trac to GitLab migration toolbox
Stars: ✭ 32 (+33.33%)
Mutual labels:  exporter
aims-gpa-calculator
No description or website provided.
Stars: ✭ 27 (+12.5%)
Mutual labels:  grade
jgrade
A library for grading Java assignments
Stars: ✭ 21 (-12.5%)
Mutual labels:  grade
daru-io
daru-io is a plugin gem to the existing daru gem, which aims to add support to Importing DataFrames from / Exporting DataFrames to multiple formats.
Stars: ✭ 21 (-12.5%)
Mutual labels:  exporter
couchbase exporter
Export metrics from Couchbase Server for Prometheus consumption
Stars: ✭ 32 (+33.33%)
Mutual labels:  exporter
genshin-audio-exporter
Export audio files from Genshin Impact game data into different audio formats.
Stars: ✭ 83 (+245.83%)
Mutual labels:  exporter
mq-java-exporter
Exporter for IBM MQ metrics https://prometheus.io/
Stars: ✭ 19 (-20.83%)
Mutual labels:  exporter
blendmaxwell
Maxwell Render exporter for Blender
Stars: ✭ 23 (-4.17%)
Mutual labels:  exporter
ping-exporter
Prometheus Ping exporter
Stars: ✭ 60 (+150%)
Mutual labels:  exporter
sql-to-redis
🔄 Simple tool for ETL. From SQL to Redis.
Stars: ✭ 18 (-25%)
Mutual labels:  exporter
io scene pbrt
Exporter for blender that exports the scene into pbrt's ascii file format.
Stars: ✭ 42 (+75%)
Mutual labels:  exporter
greenplum exporter
Greenplum(v5,v6) exporter for Prometheus
Stars: ✭ 48 (+100%)
Mutual labels:  exporter

Export your grades

... and start comparing yourself to other students. It's a totally sane thing to do.

Outputs the difference of your grades to the grades of the others.

You can also export the Vorlesungszeichnis of the current semester (see below).

There is also a script to automatically watch for grade changes, see agent/README.md. This is useful when you want to be the first to post on Facebook that some grades are in TuCan 😄

# Needed: python3 and pip3 or pip.exe or whatever, and:
pip3 install -r requirements.txt

# To export the grades:
# You will get prompted for your username/password
# or you can create a file called 'user-credentials.txt' with two lines in it:
# your username and password (trailing whitespace etc. will be stripped)
python3 grades_extractor.py
# (grades.json)

# To plot the notenspiegel:
# If there is an error that you need 'tkinter' you have to install 'python-pmw' (Arch Linux)
pip3 install matplotlib
pip3 install numpy
python3 grades_notenspiegel_plotter.py
# (plots will reside in newly created 'output' folder)

Grade Change Detector

You can watch for changes of your grades automatically using the detect_grade_change.py executable. Executing it retrieves the grades and saves them in the grades/ directory. The next execution then also retrieves the grades and compares them with the most recent saved grades/ file. If there are changes, it notifies you using the notify2 library.

Since the detect_grade_change.py executable does no automatic scheduling, you may add an entry to your crontab (or create a service):

0 * * * * cd FOLDER_WHERE_THE_TUCAN_TOOLS_ARE/tucan-tools && PATH_TO_YOUR_PYTHON_EXECUTABLE/python3 detect_grade_change.py

Note If you use a version manager, like anaconda or virtualenv, you have to manually define the executable path. Otherwise you can remove the PATH_TO_YOUR_PYTHON_EXECUTABLE/ part.

This will check for changes in the grades each hour.

Vorlesungsverzeichnis Exporter

You can export the Vorlesungszeichnis:

python3 vv_exporter.py

The modules.json will now reside in the folder.

You can display the VV with the tucan-catalog. See the repo README for that.

The VV exporter crawls the Anmeldung page, not the VV page in TuCan! There are small but irrelevant differences between these two pages. The crawler uses the Anmeldung page in TuCan, because it contains additional infos (like the credit-points of a module).

Caveats

  • Only exports grades where the Notenspiegel is available. This is by choice, not accident - so technically no caveat but will be perceived as one.
  • Once the grades.json got extracted from TuCan, it will be reused whenever possible. So if there are grades/courses missing, just delete the grades.json and try again.

Build Status

TODO

  • Get better grades...
  • Remind Micha to install a sane OS where pip is not pip.exe

Screenshots

Notenspiegel Plot

Notenspiegel

Leistungsspiegel Export

Ja, das sind meine echten Noten 😄 Leistungsspiegel

VV Export

VV

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].