Skip to main content

tug-overlap-checker

Check for course overlaps at Graz University of Technology 🎓

The tool will get the dates and times for specified courses, compare them, and report any conflicts.

Installation

pip install tug-overlap-checker

Usage

$ tug-overlap-checker -h
usage: tug-overlap-checker [-h] courseid [courseid ...]

positional arguments:
  courseid    course ids

optional arguments:
  -h, --help  show this help message and exit

The courseid argument can be repeated to specify multiple. This is the ID that is found in the URL of TUGO, not the visually displayed class ID. This may be changed in the future so the conventional IDs can be used.

E.g.:
https://online.tugraz.at/tug_online/ee/ui/ca2/app/desktop/#/slc.tm.cp/student/courses/xxxxxx <--

Example Usage

$ tug-overlap-checker 226888 221424 225088
Found course: Information and Communication Management, with 3 appointments.
Appointment: date: 2020-06-17, time range: ['13:30', '21:00']
Appointment: date: 2020-06-18, time range: ['09:30', '20:00']
Appointment: date: 2020-06-19, time range: ['08:00', '14:00']

Found course: Entrepreneurship, with 6 appointments.
Appointment: date: 2020-04-01, time range: ['14:00', '17:30']
Appointment: date: 2020-05-04, time range: ['09:00', '18:00']
Appointment: date: 2020-05-05, time range: ['09:00', '18:00']
Appointment: date: 2020-05-06, time range: ['09:00', '18:00']
Appointment: date: 2020-05-07, time range: ['09:00', '18:00']
Appointment: date: 2020-05-08, time range: ['09:00', '18:00']

Found course: Marketing Management, with 7 appointments.
Appointment: date: 2020-04-27, time range: ['12:00', '12:45']
Appointment: date: 2020-05-04, time range: ['09:00', '18:00']
Appointment: date: 2020-05-07, time range: ['08:15', '15:00']
Appointment: date: 2020-05-11, time range: ['08:15', '18:00']
Appointment: date: 2020-05-13, time range: ['08:15', '15:00']
Appointment: date: 2020-05-18, time range: ['08:15', '18:00']
Appointment: date: 2020-05-20, time range: ['08:15', '15:00']

Comparing "Information and Communication Management" and "Entrepreneurship"...
No date overlap.
Comparing "Information and Communication Management" and "Marketing Management"...
No date overlap.
Comparing "Entrepreneurship" and "Marketing Management"...
Found date overlap.
Conflicting dates:
2020-05-07
2020-05-04
Checking for time overlap on "2020-05-07"...
Times to check: ['09:00', '18:00'], ['08:15', '15:00']
Found time overlap.
For courses Entrepreneurship and Marketing Management on 2020-05-07
Checking for time overlap on "2020-05-04"...
Times to check: ['09:00', '18:00'], ['09:00', '18:00']
Found time overlap.
For courses Entrepreneurship and Marketing Management on 2020-05-04

Background

Due to many conflicting classes this semester and seeing how comparing them manually is a PITA, this tool was created to automate the process.

Since many different universities use the same online system, this may very well also work with other universities' sites like KFU. Changing the access URL is necessary for this though.

Unfortunately there is no API for TUGO, or at least none that is easily accessible for a small project like this (since Studo must have one), therefore the data is scraped from the website at generous intervals.

Metadata

Release files for tug-overlap-checker 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tug-overlap-checker 1.0.4
File Size Uploaded Provenance Actions
tug-overlap-checker-1.0.4.tar.gz 4.7 kB Without provenance Details for tug-overlap-checker-1.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tug-overlap-checker 1.0.4
File Interpreter ABI Platform Actions
tug_overlap_checker-1.0.4-py3-none-any.whl Python 3 none any Details for tug_overlap_checker-1.0.4-py3-none-any.whl

Total release size: 10.5 kB

Release files / tug-overlap-checker-1.0.4.tar.gz

Download URL tug-overlap-checker-1.0.4.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3384ec4f6895d239957a25ecd4f2df5bf8a0db4746604986362832d7cdebb0a2
BLAKE2b-256 checksum
How to use checksums
e8b98e005134144b14f6ec3171c98477fe472f21a497d0a94c76587efb79e755
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

Release files / tug_overlap_checker-1.0.4-py3-none-any.whl

Download URL tug_overlap_checker-1.0.4-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df981a1c92ed800af2816eae78587f290aeb708b5b4a9932ba69bec1aee02454
BLAKE2b-256 checksum
How to use checksums
a22b609b925fd1f29ce90c49b53f51d7b9ec086f5398fa3e548d2a6f0f990b46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

Security for tug-overlap-checker 1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page