33 lines
2 KiB
Markdown
33 lines
2 KiB
Markdown
# Things to do next
|
|
- `check` complains about some of the defaults. Make sure default settings conform with opinions of `check`
|
|
|
|
# Things to think about
|
|
- Do I want to copy templates when creating a course?
|
|
-> probably just add a subcommand that can copy templates after the creation of a course should I ever need them.
|
|
- sometimes I don't need them
|
|
- annoying to do by hand
|
|
- I don't know either way when creating the course
|
|
- Move `course.toml` to `.course.toml`?
|
|
- git doesn't automatically track hidden files I think (both pro and con)
|
|
|
|
# Things to do, if you are bored
|
|
- Think about better parsing for Courses (semester)
|
|
- Think about better error handling
|
|
- probably implement “bubbling up” of errors using the `?` operator
|
|
- Think about better code separation/organization
|
|
|
|
# Things learned
|
|
## Paths
|
|
- Os Paths are complicated. (not utf-8)
|
|
- When you only need your own paths manipulated try keeping them strings for a while
|
|
- When you need to use arbitrary strings, your in for an error handling feast
|
|
This is both annoying but makes you think about all the python scripts that probably do not handle this at all and the developers of these python scripts that don't even know about this
|
|
- Actually if you e.g. save paths somewhere like in a config you probably want to work with `camino` a crate that provides a Path{,Buf} that is utf-8.
|
|
It is no use to have "correct" paths only for the saving and reloading to bungle them/the config when opening with an editor.
|
|
- You can use the `debug_assertions` with the `#cfg[]` and `cfg!` macros to detect if you are in debug (`cargo run`) or release (`cargo run --release`) mode. This is useful for debugging and similar to C's `#ifdef DEBUG`.
|
|
|
|
# WISHLIST
|
|
- automatically web-archive/download/git scrape all course websites
|
|
- Calendar Integration
|
|
- Integration with Moodle-Abgaben (put them in a calendar somewhere? are they already?); send reminders/ability to list them and select one to work on.
|
|
Maybe this needs to go into `moodle-rs`?
|