Commit Graph

245 Commits

Author SHA1 Message Date
Arne Keller
19202327b9
Merge pull request #45 from Ma27/flake
Init nix flake, fix build, add clippy+rustfmt
2023-07-22 15:25:38 +02:00
Maximilian Bosch
4c90a6029a
flake: Init
* Uses crane to build deps and code independently. Allows on development
  fast iterations by running `nix run` to run the program.
* Implements formatting and linting as checks.
2023-07-09 11:54:42 +02:00
Maximilian Bosch
3f326713ba
Fix clippy hints
* https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
  (-D clippy::collapsible-else-if)
* https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
  (-D clippy::needless-borrow)
* https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref
  (-D clippy::into-iter-on-ref)
* https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten
  (-D clippy::map-flatten)
* https://rust-lang.github.io/rust-clippy/master/index.html#len_zero
  (-D clippy::len-zero)
2023-07-09 11:53:08 +02:00
Maximilian Bosch
05abc5bdad
Run cargo fmt 2023-07-09 11:36:01 +02:00
Maximilian Bosch
0396dfc096
Fix build 2023-07-09 11:35:29 +02:00
FliegendeWurst
ebe2db5987 Recognize when logged out 2023-06-12 09:19:37 +02:00
FliegendeWurst
b74b9e8169
Merge pull request #41 from FliegendeWurst/dependabot/cargo/tokio-1.24.2 2023-02-05 18:36:36 +01:00
dependabot[bot]
60360b7e2d
Bump tokio from 1.23.1 to 1.24.2
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.23.1 to 1.24.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/commits)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 00:54:55 +00:00
FliegendeWurst
be52d67364
Merge pull request #39 from FliegendeWurst/dependabot/cargo/tokio-1.23.1
Bump tokio from 1.21.2 to 1.23.1
2023-01-07 18:44:25 +01:00
dependabot[bot]
e98973dd12
Bump tokio from 1.21.2 to 1.23.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.21.2 to 1.23.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.21.2...tokio-1.23.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-06 21:49:55 +00:00
FliegendeWurst
ff982a5723 Expand individual sessions 2022-12-19 19:13:08 +01:00
FliegendeWurst
cc7dcd6f9d feat: respect .iliasignore files in parent folder
see #38
2022-11-23 15:10:39 +01:00
FliegendeWurst
07dc3a9be2
Explain common error source in readme 2022-11-01 11:09:39 +01:00
FliegendeWurst
60426dd5ca
Update CHANGELOG.md 2022-10-30 15:20:04 +01:00
FliegendeWurst
603c3eef7c
Merge pull request #36 from spaceXrace/master 2022-10-30 15:18:54 +01:00
spaceXrace
e7728e31a9
Update README.md
include command to install Rust on macOS
2022-10-26 16:08:08 +02:00
FliegendeWurst
1ea88fb193 Version 0.3.6 2022-10-21 09:52:39 +02:00
FliegendeWurst
dbfa3cf3ad Update dependencies 2022-10-21 09:50:15 +02:00
FliegendeWurst
f2c9ce5fa0 Apply rustfmt 2022-10-21 09:50:13 +02:00
FliegendeWurst
e3208a1579
Merge pull request #35 from funnym0nk3y/patch-video 2022-08-31 14:15:02 +02:00
funnym0nk3y
596c7dd355 Fixed video regex 2022-08-31 01:01:47 +02:00
funnym0nk3y
5b18f43500 Merge branch 'master' of https://github.com/FliegendeWurst/KIT-ILIAS-downloader 2022-08-31 00:32:41 +02:00
FliegendeWurst
f0bce36ee0
Merge pull request #34 from Ma27/pass-first-line-only 2022-08-14 13:39:27 +02:00
Maximilian Bosch
8131acc75a
pass login: Only use first line from result
It's possible to create multi-line entries in `pass(1)` where additional
lines have further metadata, e.g.

    $ pass show kit-access
    <secret pw>
    user: uXXXX

which can be helpful to persist e.g. the corresponding username.

However it's a convention that the password is only in the first line,
e.g. `pass show -c` (which is used by `passmenu` to copy a secret into
the clipboard) only the first line is used by default.

I switched to such an approach recently and realized that this is now a
problem because `KIT-ILIAS-Downloader` passes the entire string to the
SAML login, so I decided to just strip everything after the first line
in the output of `pass show`.

We may want to implement support for extracting usernames from such a
format in the future, but... that's an exercise left for the reader ;-)
2022-08-06 14:33:33 +02:00
FliegendeWurst
a48060a9a5 Update readme and changelog 2022-07-11 10:22:47 +02:00
FliegendeWurst
1eb354865e Update dependencies 2022-07-11 10:21:51 +02:00
FliegendeWurst
38ce269d70
Merge pull request #33 from Ma27/pass-integration 2022-07-11 09:42:37 +02:00
Maximilian Bosch
3a83840f15
cli: Support for pass(1) as credential storage
`pass(1)`[1] is a small CLI-based password manager. When passing
`--pass-path edu/kit/uXXXX` to `KIT-ILIAS-Downloader`, it now attempts
to retrieve the password from `pass(1)`.

It is assumed that `pass(1)` is available in the `$PATH` of the process. If
that's not the case, it errors out with an error like this:

    Error: credentials input failed

    Caused by:
        pass not found in $PATH!

It's also taken care of the case where the value `--pass-path` is not
present in the store, the error will look like this:

    Error: credentials input failed

    Caused by:
        `pass` failed with non-zero exit code 1: Error: edu/kit/uXXXX is not in the password store.

Closes #32

[1] https://www.passwordstore.org/
2022-07-10 12:34:03 +02:00
FliegendeWurst
f21c0249ed
Fix changelog typo 2022-06-05 17:50:31 +02:00
FliegendeWurst
4dfdf35a4c Version 0.3.4 2022-06-05 17:46:42 +02:00
FliegendeWurst
e2e5f515a0 Fix keyring option on Linux
By applying a patch on keyring-rs
2022-06-05 17:41:47 +02:00
FliegendeWurst
147af49eb8 Warn the user on duplicate folder names
See #31
2022-04-26 21:47:17 +02:00
FliegendeWurst
1953a019aa
Update README.md 2022-03-21 11:57:45 +01:00
FliegendeWurst
fcf5ad10ed Version 0.3.3 2022-03-21 11:48:19 +01:00
FliegendeWurst
372f9d67d2 Update dependencies 2022-03-21 11:47:01 +01:00
FliegendeWurst
8906069a67 Add command-line option to download all courses 2022-03-21 11:44:06 +01:00
FliegendeWurst
d063abc08e
Update CHANGELOG.md 2022-01-21 17:45:25 +01:00
FliegendeWurst
0f0dc62bf0
Update CHANGELOG.md 2022-01-21 17:44:52 +01:00
FliegendeWurst
f1e01fb3fd
Update CHANGELOG.md 2022-01-21 17:44:32 +01:00
FliegendeWurst
d35308a356 Version 0.3.2 2022-01-21 17:43:54 +01:00
FliegendeWurst
131e9c8e21
Merge pull request #28 from funnym0nk3y/master
Fixed (part of) #27
2022-01-21 17:41:32 +01:00
funnym0nk3y
335ad1a89e Merge branch 'master' of https://github.com/funnym0nk3y/KIT-ILIAS-downloader 2022-01-21 15:28:07 +01:00
funnym0nk3y
c228c9b8ff Updated .gitignore to exclude .vscode 2022-01-21 15:25:47 +01:00
funnym0nk3y
e931815cd4
Fixed bug with video download
Fixed #27
2022-01-21 01:43:58 +01:00
funnym0nk3y
ee8c99114c Merge branch 'master' of github.com:FliegendeWurst/KIT-ILIAS-downloader 2022-01-21 00:04:36 +01:00
FliegendeWurst
75f003408c
Update CHANGELOG.md 2022-01-07 12:31:29 +01:00
FliegendeWurst
536941dde1 Version 0.3.1 2022-01-07 12:29:34 +01:00
FliegendeWurst
7d641d5329 Support downloading every course 2022-01-07 12:21:40 +01:00
FliegendeWurst
b44c31d8d4 Simplify link extractor 2022-01-07 12:19:39 +01:00
FliegendeWurst
38ee7ed31e Remove dead code 2022-01-06 16:41:48 +01:00