Giter VIP home page Giter VIP logo

cms-downloader's Introduction

CMS-downloader

Codacy Badge License: GPL v3 made-with-python

A CLI python script that automates downloading the material of any course hosted on the cms website. also organizes the content in weeks.

Installation

Clone the repo and install dependencies with python package manger pip

git clone https://github.com/aboueleyes/cms-downloader.git
cd cms-downloader/
sudo pip3 install -r requirements.txt

For Windows

pip install -r  requirements.txt

Usage

For GIU students run this command first

sed -i 's/^# //' src/constants.py 

Run in interactive mode

python3 main.py

For help

python3 main.py -h

Download all PDF files for all courses

./main.py -p

Download every single file including videos for all courses

./main.py -a

Run in interactive mode but display only new items

./main.py -f

Display all announcements for all courses

./main.py -n

Features

  1. Parallel downloading
  2. In interactive mode you can use regular expressions in search
  3. Select more than option by Pressing <tab>

Contribution

For any feedback or issues, feel free to open an issue, make sure to keep it as detailed as possible.

If you would like to contribute, feel free to fork the repo, and open a PR. However, please create an issue first with the feature/bug-fix you would like to implement, since it might be in-work already.

DISCLAIMER

This script is not official, It is simply a personal script shared for educational purposes only.

cms-downloader's People

Contributors

aboueleyes avatar codacy-badger avatar shimaabetah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

cms-downloader's Issues

Check if two files are the same

checking if file exists was by checking their name which was the not the best approach since the filename can be changed?
Maybe The file-size, name and comparing first chunk of bits would be okay?

Add "return option"

Add a return option to return after accessing a certain course to be able to access other courses instead of rerunning the script.

config file

add config file for user freedom and easy customization

Support GIU

add patch or option or something to support cms of GIU, it needs slight changes

GIU TEST

I am not sure of the GIU regex can GIUian help me?

multi-thread download

using multiple threads. Each thread run simultaneously (in parallel), grabbing a specific part of the file.

Support for Windows

The script needs some changes to support Windows systems. file separator for example?

old courses

show the option to access the old courses too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.