Skip to main content

A client for the moodle page of https://www.jku.at

Project description

# PyMoodle-JKU Linz

A python client for accessing the jku moodle page.

## Install

pip3 install pymoodle-jku -U

### install for testing

  • clones this repo

  • pip3 install -r requirements.txt

## Requirements

To Download streams, you need [ffmpeg](https://ffmpeg.org/download.html) installed.

## Examples

There are two examples:

### Downloading

Open the [downloading.py](pymoodle_jku/Tests/downloading.py) and run it. It will download all possible files to your disk.

It will also store a txt file with all downloaded urls. So you can run it multiple times, and it will only download stuff once.

### Timeline

Run [timetable.py](pymoodle_jku/Tests/timetable.py) and get the full json response from your timetable. (In a next release this will be a object, with type hints not a json)

## Features

  • Login to your personal moodle account
    • passwords don’t get stored anywhere, only send to the moodle (actually sso) server

  • List all courses
    • query a specific course

    • download data from a course (PDFS/Zips…)

    • download streams (you need ffmpeg installed locally and added to your PATH)

    • get all Links on a page (with the [Link Type](pymoodle_jku/Classes/course_data.py))

    • get all html from a section of a course

  • Get [information about courses](pymoodle_jku/Classes/course.py)
    • startdate/enddate

    • fullname/shortname

    • id

    • etc.

  • Downloads are streamed
    • that means pymoodle take chunks of the request and writes it to the filesystem (which means less RAM usage)
      • to compare that: downloading: 4 x 2GB Videos into memory uses 8 GB. Streaming it and chunking it onto the filesystem takes not more than a few hundred MB.

  • Get your Timeline

  • Exception is thrown if you get logged out. (So catch it and call login again…)

  • Every request I implemented is directly from the official moodle page. (Took a very long time to debug)

## Unsupported

  • Downloading of Zoom streams of jku.zoom.us isn’t supported for now. If somebody get it working please feel free to do a merge request.

## Support

If you want to add something, create an issue and do a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymoodle-jku-0.3.8.tar.gz (6.5 kB view details)

Uploaded Source

File details

Details for the file pymoodle-jku-0.3.8.tar.gz.

File metadata

  • Download URL: pymoodle-jku-0.3.8.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for pymoodle-jku-0.3.8.tar.gz
Algorithm Hash digest
SHA256 104305b8b301c9e59b261dbcf25d7d58542b74203c0571e9175ec57e5a52823c
MD5 ccfd8bad182b1538203632f92904fc07
BLAKE2b-256 3b5c93cdcd2a532c570dc52de9371a75fc5f2a8baed5afc4a4c3dfda6e6e2cf9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page