20 releases
new 0.9.24 | Feb 15, 2025 |
---|---|
0.8.14 | Jun 12, 2024 |
#90 in Command-line interface
185 downloads per month
1MB
2.5K
SLoC
RozsdásFilc: E-Kréta
console client in Rust
E-Kréta
is an awful Hungarian electronic school administration system
Installation
- EZ mode: grab a prebuilt binary from releases
if not available for your platform (file an issue), not a preferred method or feels a bit outdated:
- Rust
cargo install --locked rsfilc
for latest, beta builds:
cargo install --locked --git "https://codeberg.org/jark/rsfilc"
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
general help: rsfilc --help
createing a new user: rsfilc user --create <USER_ID>
Features
cross-platform: not tested thoroughly but should run on
- linux
- windows
- macOS
- android via Termux
- everything else that Rust supports
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
- dependencies used (although many of them wouldn't be necessary with a proper API, this is not the case with e-kréta.)
- See ekreta-rs, which provides the API client for E-Kréta
- Shell completions section got from zoxide
Dependencies
~11–20MB
~266K SLoC