Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/liblaf/thu-learn-downloader
Download everything from Web Learning of Tsinghua University
https://github.com/liblaf/thu-learn-downloader
cli downloader tsinghua-university
Last synced: 16 days ago
JSON representation
Download everything from Web Learning of Tsinghua University
- Host: GitHub
- URL: https://github.com/liblaf/thu-learn-downloader
- Owner: liblaf
- License: mit
- Created: 2022-06-27T08:24:22.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-22T02:26:49.000Z (21 days ago)
- Last Synced: 2024-11-22T03:23:49.833Z (21 days ago)
- Topics: cli, downloader, tsinghua-university
- Language: Python
- Homepage: https://pypi.org/project/thu-learn-downloader/
- Size: 2.38 MB
- Stars: 11
- Watchers: 2
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome - liblaf/thu-learn-downloader - Download everything from Web Learning of Tsinghua University (Python)
README
# THU Web Learning Downloader
Download everything from Web Learning of Tsinghua University
[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/liblaf/thu-learn-downloader/ci.yaml)](https://github.com/liblaf/thu-learn-downloader/actions/workflows/ci.yaml)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/thu-learn-downloader)](https://pypi.org/project/thu-learn-downloader/)
[![PyPI - Version](https://img.shields.io/pypi/v/thu-learn-downloader)](https://pypi.org/project/thu-learn-downloader/)## Demo
![Demo](https://github.com/liblaf/thu-learn-downloader/raw/assets/demo.png)
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
```## Usage
**Usage**:
```console
$ tld [OPTIONS]
```**Options**:
- `-u, --username TEXT`
- `-p, --password TEXT`
- `--prefix DIRECTORY`: [default: $HOME/thu-learn]
- `-s, --semester TEXT`: [default: 2023-2024-1]
- `-c, --course TEXT`
- `--document / --no-document`: [default: document]
- `--homework / --no-homework`: [default: homework]
- `-j, --jobs INTEGER`: [default: 8]
- `-l, --language [en|zh]`: [default: en]
- `--log-level [NOTSET|DEBUG|INFO|WARNING|ERROR|CRITICAL]`: [env var: LOG_LEVEL; default: INFO]
- `--help`: Show this message and exit.## Features
- fast concurrent download
- pretty TUI powered by [rich](https://github.com/Textualize/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](https://prettier.io) (require `prettier` installed)## Installation
- download pre-built binary form [GitHub Releases](https://github.com/liblaf/thu-learn-downloader/releases)
- `pip install thu-learn-downloader`
- `pipx install thu-learn-downloader`