This program downloads all files of a Stud.IP users current semester.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
TiynGER 92ee51e56c
bugfixes: now all courses in the curr semester get downloaded
4 years ago
docker docker: fixed error in docker-compose.yml template 4 years ago
src bugfixes: now all courses in the curr semester get downloaded 4 years ago
.gitignore database: files id and chdates are stored 5 years ago
LICENSE adding license 5 years ago
README.md "logo: readme underscore for correct link to logo" 4 years ago
studip_crawler.png "logo: added logo to readme" 4 years ago

README.md

Stud.IP Crawler

stud.ip-crawler-logo

This is a program that downloads all files available for a given Stud.IP user. It only downloads and searches through the courses in the current semester. If you run the program again it only downloads files that have changed since the last time running it.

Features/To-Dos

  • Downloads files of given users active semester via commandline
    • Keeping file structure of Stud.IP
    • Specify username
    • Specify password
    • Specify Stud.IP-URL
    • Specify output directory
    • Specify chunk size to download big files
    • Specify all important database variables
  • Only download files after given date
    • Save and read download date
    • Possible reset of download date
  • Incremental file download
    • Store id and chdate of downloaded files
  • Logging
    • Console log
    • Log file
    • Specify log level
  • Docker
    • DockerHub image
    • Docker-compose with db

Installation

  • create an instance of a mysql database
  • git clone https://github.com/tiyn/studip-crawler
  • cd studip-crawler/src/
  • pip3install -r requirements - install dependencies

Usage

Just run the file via python3 run.py [options]. Alternatively to python3 run.py you can give yourself permissions using chmod +x run.py [options] and run it with ./run.py [options]. There are several options required to work. Run python3 run.py -h for a help menu and see which ones are important for you.

Docker

Environment-variables

Set the following variables with the -e tag.

Name Usage Default
USER username on the studip server admin
PSWD password on the studip server admin
URL url of the studip server admin
HOST ip of the mysql instance to connect mysql
DB_USER username of the mysql instance to connect root
DB_PSWD password of the mysql instance to connect root
INTERVAl update interval in seconds 86400

Volumes

Set the following volumes with the -v tag.

Volume-Name Container mount Description
studip_data /studip/src/data directory for studip files to be saved to

docker-compose.yml

Copy docker/docker-compose.yml and change it to your needs. Then run docker-compose up.

Tested StudIP instances

  • Carl von Ossietzky Universität Oldenburg