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 |
#152 in Command-line interface
1MB
2.5K
SLoC
RozsdásFilc: E-Kréta
console client in Rust
E-Kréta
is 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
credentials
under:
- 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 rsfilc
for 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
compcompletions
is 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 $profile
in 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
html
that messages return - render
html
messages withw3m
orlynx
if possible - shell completions: [bash, zsh, fish, elvish, powershell]
- logger:
fern
maybe - 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–23MB
~295K SLoC