Skip to content
This repository has been archived by the owner on Sep 19, 2023. It is now read-only.

rimmaciej/ue-schedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UE Class schedule utility library

A utility library used to download, filter and export class schedule at University of Economics in Katowice. Imports data from "Wirtualna uczelnia".

Each students gets a constant schedule id which is used to generate the schedule.

You can get your ID by going to "Wirtualna uczelnia" > "Rozkład zajęć" > "Prezentacja harmonogramu zajęć" > "Eksport planu do kalendarza".

The url ends with /calendarid_XXXXXX.ics, the XXXXXX will be your ID.

Installation

pip install ue-schedule

You can then run the ue-schedule tool from your shell like

ue-schedule <schedule_id>

Development

You can install dependencies in a virtualenv with poetry

poetry install

# switch to the virtualenv
poetry shell

Usage

from ue_schedule import Schedule

# initialize the downloader
s = Schedule(schedule_id)

# get event list
schedule.get_events()

# get event list as iCalendar
schedule.get_ical()

# get event list as json
schedule.get_json()

Data is automatically fetched when exporting, but you can force fetch with

schedule.fetch()

If you need to dump the event list and load later

# dump the event list
events = schedule.dump_events()

# load the event list
schedule.load_events(events)

If there's a need to format the list acquired with .get_events(), you can use format functions

# format event list as ical file
Schedule.format_as_ical(events)

# format event list as json
Schedule.format_as_json(events)