18 releases (6 breaking)
| 0.8.14 | Jun 12, 2024 |
|---|---|
| 0.7.4 | May 14, 2024 |
| 0.6.0 | May 4, 2024 |
| 0.5.29 | May 4, 2024 |
| 0.2.0 | Apr 9, 2024 |
#171 in Command-line interface
1,587 downloads per month
1MB
2.5K
SLoC
RozsdásFilc: E-Kréta console client in Rust
E-Krétais an awful Hungarian electronic school administration system
IMPORTANT!
When upgrading from
v0.5.21, credentials have to be recreated. It's necessary, as fromv0.5.22, encoding is used for storing passwords.
- You have to manually find and delete them. A user called Alice would find
credentialsunder:
- linux:
/home/alice/.config/rsfilc/credentials.toml- windows:
C:\Users\Alice\AppData\Roaming\rsfilc\credentials.toml- mac:
/Users/Alice/Library/Application Support/rsfilc/credentials.toml- recreate all users with
rsfilc user --create
Installation
-
cargo install --locked rsfilcfor latest, beta builds:
cargo install --locked --git "https://codeberg.org/jark/rsfilc"
Dependencies
optional, recommended
Shell completions:
Bash
Add this to the end of your config file (usually
~/.bashrc):eval "$(rsfilc completions bash)"
Zsh
Add this to the end of your config file (usually
~/.zshrc):eval "$(rsfilc completions zsh)"For completions to work, the above line must be added after
compcompletionsis called. You may have to rebuild your completions cache by runningrm ~/.zcompdump*; compcompletions.
Fish
Add this to the end of your config file (usually
~/.config/fish/config.fish):rsfilc completions fish | source
PowerShell
Add this to the end of your config file (find it by running
echo $profilein PowerShell):Invoke-Expression (& { (rsfilc completions powershell | Out-String) })
Elvish
Add this to the end of your config file (usually
~/.elvish/rc.elv):eval (rsfilc completions elvish | slurp)Note RsFilc only supports elvish v0.18.0 and above.
Usage
rsfilc --help

Features
cross-platform: not tested thoroughly but should run on
- linux
- windows
- macOS
- android via Termux
- everything else that Rust supports
API
-
Kréta API URL fetching (no clue what they do)
-
school fetching from reFilc API
-
user info fetch (json)
- token
- basic information
- evaluations/grades
- timetable
- messages
- attachments
- announced test
- absences
-
usable user info (in
structs)- token
- basic information
- evaluations/grades
- timetable
- messages
- attachments
- announced test
- absences
CLI
- basic usage of API
- filtering what to show
- multi-user feature
- somehow rendering
htmlthat messages return - render
htmlmessages withw3morlynxif possible - shell completions: [bash, zsh, fish, elvish, powershell]
- logger:
fernmaybe - helpful crashes
- caching everything so that life remains enjoyable
- token
- timetable
- evals
- user info
- absences
- announced tests
- messages
- note messages
- encoding passwords
- sending messages
- class averages
- fetching administrational processes
- starting new administrational processes
TUI
-
multiple pages
- evaluations
- timetable
- ...
-
beautifully displaying data
- timetable in nice table
- plotting evaluations
- ...
Acknowledgements
- The API is written according to this great documentation.
- Code ideas from reFilc.
- Shell completions section got from zoxide
Dependencies
~7–22MB
~257K SLoC