Compare commits

..

No commits in common. "a48060a9a5be75899f3729b39650c177e76d723c" and "38ce269d7052bd6f62732d6af5d86ce353940cb7" have entirely different histories.

5 changed files with 350 additions and 202 deletions

View File

@ -3,10 +3,6 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [0.3.5]
### Added
- `--pass-path` option to get the password from [pass](https://www.passwordstore.org/) (PR [#33] by [@Ma27])
## [0.3.4] ## [0.3.4]
### Added ### Added
- Display a warning if two or more courses/folders have the same name ([#31]) - Display a warning if two or more courses/folders have the same name ([#31])
@ -162,7 +158,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [0.1.0] - 2020-04-21 ## [0.1.0] - 2020-04-21
(undocumented) (undocumented)
[#33]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/pull/33
[#31]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/issues/31 [#31]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/issues/31
[#30]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/issues/30 [#30]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/issues/30
[#28]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/pull/28 [#28]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/pull/28
@ -185,8 +180,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[@Craeckie]: https://github.com/Craeckie [@Craeckie]: https://github.com/Craeckie
[@funnym0nk3y]: https://github.com/funnym0nk3y [@funnym0nk3y]: https://github.com/funnym0nk3y
[@Ma27]: https://github.com/Ma27 [@Ma27]: https://github.com/Ma27
[Unreleased]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.5...HEAD [Unreleased]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.4...HEAD
[0.3.5]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.5...v0.3.4
[0.3.4]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.3...v0.3.4 [0.3.4]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.3...v0.3.4
[0.3.3]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.2...v0.3.3 [0.3.3]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.2...v0.3.3
[0.3.2]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.1...v0.3.2 [0.3.2]: https://github.com/FliegendeWurst/KIT-ILIAS-downloader/compare/v0.3.1...v0.3.2

505
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
[package] [package]
name = "KIT-ILIAS-downloader" name = "KIT-ILIAS-downloader"
version = "0.3.5" version = "0.3.4"
authors = ["FliegendeWurst <2012gdwu@posteo.de>"] authors = ["FliegendeWurst <2012gdwu@posteo.de>"]
license = "GPL-3.0-or-later" license = "GPL-3.0-or-later"
edition = "2018" edition = "2018"
@ -30,8 +30,8 @@ indicatif = "0.16.0"
once_cell = "1.7.2" once_cell = "1.7.2"
atty = "0.2.14" atty = "0.2.14"
h2 = "0.3.3" h2 = "0.3.3"
cookie_store = "0.16.1" cookie_store = "0.15.1"
reqwest_cookie_store = "0.3.0" reqwest_cookie_store = "0.2.0"
bytes = "1.0.1" bytes = "1.0.1"
toml = "0.5.8" toml = "0.5.8"
tempfile = "3.2.0" tempfile = "3.2.0"

View File

@ -35,7 +35,8 @@ $ KIT-ILIAS-downloader -o ./ILIAS/WS2021-HM1 --sync-url 'https://ilias.studium.k
### Options ### Options
``` ```
KIT-ILIAS-downloader 0.3.5 $ KIT-ILIAS-downloader --help
KIT-ILIAS-downloader 0.3.3
USAGE: USAGE:
KIT-ILIAS-downloader [FLAGS] [OPTIONS] --output <output> KIT-ILIAS-downloader [FLAGS] [OPTIONS] --output <output>
@ -57,19 +58,18 @@ FLAGS:
-v Verbose logging -v Verbose logging
OPTIONS: OPTIONS:
-j, --jobs <jobs> Parallel download jobs [default: 1] -j, --jobs <jobs> Parallel download jobs [default: 1]
-o, --output <output> Output directory -o, --output <output> Output directory
--pass-path <pass-path> Path inside `pass(1)` to the password for your KIT account -P, --password <password> KIT account password
-P, --password <password> KIT account password -p, --proxy <proxy> Proxy, e.g. socks5h://127.0.0.1:1080
-p, --proxy <proxy> Proxy, e.g. socks5h://127.0.0.1:1080 --rate <rate> Requests per minute [default: 8]
--rate <rate> Requests per minute [default: 8] --sync-url <sync-url> ILIAS page to download
--sync-url <sync-url> ILIAS page to download -U, --username <username> KIT account username
-U, --username <username> KIT account username
``` ```
### .iliasignore ### .iliasignore
.gitignore syntax can be used in a `.iliasignore` file: (located in the output directory) .gitignore syntax can be used in a `.iliasignore` file: (located in the output folder)
```ignore ```ignore
# example 1: only download a single course # example 1: only download a single course
/*/ /*/
@ -81,25 +81,18 @@ OPTIONS:
### Credentials ### Credentials
You can use the `--user` and `--keyring` options to get/store the password using the system password store: You can use the `--user` and `--keyring` options to get/store the password using the system password store.
If you use Linux, you'll have to compile from source to be able to use this option.
``` ```
$ KIT-ILIAS-downloader -U uabcd --keyring [...] $ KIT-ILIAS-downloader -U uabcd --keyring [...]
``` ```
If you use [pass](https://www.passwordstore.org/), you can use the `--pass-path` option to specify which password store entry to use:
```
$ KIT-ILIAS-downloader -U uabcd --pass-path edu/kit/uskyk [...]
```
You can also save your username and password in a `.iliaslogin` file: (located in the output folder) You can also save your username and password in a `.iliaslogin` file: (located in the output folder)
``` ```
username username
password password
``` ```
When running the downloader multiple times in a short period of time, you may want to use the `--keep-session` flag.
If specified, the downloader will save and restore session cookies (`.iliassession` file in the output directory).
### Renaming course names (0.2.24+) ### Renaming course names (0.2.24+)
If you'd like to avoid unwieldy course names (e.g. "24030 Programmierparadigmen"), you can create a `course_names.toml` file in the output directory. It should contain the desired mapping of course names to folder names, e.g.: If you'd like to avoid unwieldy course names (e.g. "24030 Programmierparadigmen"), you can create a `course_names.toml` file in the output directory. It should contain the desired mapping of course names to folder names, e.g.:
``` ```

View File

@ -74,7 +74,7 @@ pub struct Opt {
#[structopt(short = "P", long)] #[structopt(short = "P", long)]
pub password: Option<String>, pub password: Option<String>,
/// Path inside `pass(1)` to the password for your KIT account /// Path inside `pass(1)` to the password for shibboleth.
#[structopt(long)] #[structopt(long)]
pub pass_path: Option<String>, pub pass_path: Option<String>,