Skip to content

INT-Scripts/atspop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ATSPOP Calendar Retriever

This tool connects to the legacy ASP.NET website si-etudiants.imtbs-tsp.eu to retrieve your student schedule and convert it into an iCalendar (.ics) file.

Prerequisites

  • Python 3.13+
  • uv package manager

Installation

Dependencies are managed via uv and pyproject.toml. Ensure you have the required packages installed:

uv sync

Usage

Run the scraper script using uv:

uv run agenda_scraper.py

You will be prompted for your school username and password.

Environment Variables

To avoid entering credentials manually every time, you can create a .env file with the following variables:

SCHOOL_USER="your.username"
SCHOOL_PASS="your.password"

On success, an agenda.ics file will be generated in the current directory.

How it Works

The script automates the full interaction flow:

  1. Authentication: Handles the complex SAML/CAS login chain:
    • Initiates login at the Service Provider (SP).
    • Follows the SAML Request to the Identity Provider (IdP).
    • Handles Shibboleth's intermediate checks (including fake LocalStorage pages).
    • Logs in via the CAS server.
    • Passes the SAML Response back to the SP to establish a session.
  2. Bridge Crossing: Navigates the "bridge" page that connects the main portal to the legacy ASP agenda application.
  3. Data Extraction: Fetches the weekly view in "Table Mode" to get precise timings.
  4. Parsing: Parses the HTML table to extract event details (Course name, type, time, location).
  5. Export: Generates a standard agenda.ics file compatible with Google Calendar, Outlook, and Apple Calendar.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages