Compare commits
2 Commits
fa1e646f01
...
a6b5171ad8
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a6b5171ad8 | ||
![]() |
874506a5de |
2
TODO.md
2
TODO.md
@ -1,2 +1,4 @@
|
|||||||
# To-do
|
# To-do
|
||||||
- Report that "ReadableConfig" error, which was super unhelpful and very annoying when you don't know why it's bugging.
|
- Report that "ReadableConfig" error, which was super unhelpful and very annoying when you don't know why it's bugging.
|
||||||
|
- Find a better notation for the error-handling in setup() – although the custom error message is desirable, it's very bad
|
||||||
|
to have to implement it using such a ridiculously long line...
|
19
src/main.rs
19
src/main.rs
@ -42,18 +42,15 @@ enum Action {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn setup(args: SetupArgs) -> Result<(), std::io::Error> {
|
fn setup(args: SetupArgs) -> Result<(), std::io::Error> {
|
||||||
if let Ok(config_template) = std::fs::read_to_string(CONFIG_TEMPLATE_PATH) {
|
let config_template = std::fs::read_to_string(CONFIG_TEMPLATE_PATH).or(Err(std::io::Error::new(std::io::ErrorKind::NotFound, format!("Unable to find {}; did you execute the script from the same directory?", CONFIG_TEMPLATE_PATH))))?;
|
||||||
let filled_in_config = formatx!(config_template, args.api_url, args.rest_url, args.username, args.botpassword, args.oauth2_token).unwrap();
|
let filled_in_config = formatx!(config_template, args.api_url, args.rest_url, args.username, args.botpassword, args.oauth2_token).unwrap();
|
||||||
let path = shellexpand::tilde(BOT_CONFIG_PATH).into_owned();
|
let path = shellexpand::tilde(BOT_CONFIG_PATH).into_owned();
|
||||||
std::fs::write(&path, filled_in_config).unwrap();
|
std::fs::write(&path, filled_in_config).unwrap();
|
||||||
{
|
{
|
||||||
use std::os::unix::fs::PermissionsExt;
|
use std::os::unix::fs::PermissionsExt;
|
||||||
std::fs::set_permissions(path, std::fs::Permissions::from_mode(0o600))?;
|
std::fs::set_permissions(path, std::fs::Permissions::from_mode(0o600))?;
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
} else {
|
|
||||||
Err(std::io::Error::new(std::io::ErrorKind::NotFound, format!("Unable to find {}; did you execute the script from the same directory?", CONFIG_TEMPLATE_PATH)))
|
|
||||||
}
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
|
Loading…
Reference in New Issue
Block a user