@Qin Li Qin Li authored on 10 Mar 2023
.github fix(ci): fix workflow syntax 3 years ago
thu_learn_downloader fix: compatible with py3.10 3 years ago
.gitignore fix: fix usage as module 3 years ago
.pre-commit-config.yaml fix: fix filename (#29) 3 years ago
CHANGELOG.md chore(main): release 0.1.7 (#31) 3 years ago
LICENSE docs(license): update copyright year(s) (#13) 3 years ago
Makefile fix: add tld script 3 years ago
README.md fix: fix filename on macOS 3 years ago
config.yaml fix: migrate to python 3.11 3 years ago
demo.tape fix: migrate to python 3.11 3 years ago
main.py fix: fix filename (#29) 3 years ago
poetry.lock fix: compatible with py3.11 3 years ago
pyproject.toml fix: compatible with py3.11 3 years ago
requirements.txt fix: compatible with py3.11 3 years ago
README.md

thu-learn-downloader

Download everything from Web Learning of Tsinghua University

Demo

Demo

The resulting file structure looks like:

thu-learn
└── Quantum Mechanics(1)
   ├── docs
   │  └── 电子教案
   │     ├── 01-0量子力学介绍1.pdf
   │     └── 04-0量子力学介绍2.pdf
   └── work
      └── 01-第一周作业
         ├── attach-第一周作业.pdf
         ├── submit-第一周作业.pdf
         └── README.md

Features

  • fast concurrent download
  • pretty TUI powered by rich
  • auto set mtime of downloaded files according to timestamp of remote file
  • auto skip download when local file is newer
  • dump homework details into README.md in each homework folder
  • pretty markdown files powered by prettier (require prettier installed)

Usage

Download pre-built binary from releases or install from PyPI by executing pip install thu-learn-downloader.

  1. Prepare a config.yaml like config.yaml.
  2. Run thu-learn-downloader password="***" and wait for the sync to finish.