[WIP] A (somewhat barebones) atproto app for creating custom sites without hosting!

upload: make main much cleaner

vielle.dev 4ac8eaad 97aab937

verified
Changed files
+18 -13
upload
+14 -1
upload/src/config.rs
··· 1 - use std::fs; 1 + use std::{fmt, fs}; 2 2 3 + #[derive(Debug)] 3 4 pub struct Config { 4 5 pub user: String, 5 6 pub pword: String, 6 7 pub dir: String, 7 8 } 8 9 10 + #[derive(Debug)] 9 11 pub enum ConfigErr { 10 12 TooManyDirectories, 11 13 NotEnoughArgs(String), 12 14 UnknownArg(String), 13 15 NotADirectory, 16 + } 17 + 18 + impl fmt::Display for ConfigErr { 19 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 20 + match self { 21 + ConfigErr::TooManyDirectories => write!(f, "Too many directories"), 22 + ConfigErr::NotEnoughArgs(args) => write!(f, "Missing {}", args), 23 + ConfigErr::UnknownArg(arg) => write!(f, "Unknown arg {}", arg), 24 + ConfigErr::NotADirectory => write!(f, "Not a directory"), 25 + } 26 + } 14 27 } 15 28 16 29 pub fn extract() -> Result<Config, ConfigErr> {
+4 -12
upload/src/main.rs
··· 2 2 3 3 fn main() -> Result<(), ()> { 4 4 // get config items 5 - let config = match config::extract() { 6 - Ok(v) => v, 7 - Err(err) => { 8 - match err { 9 - config::ConfigErr::TooManyDirectories => println!("Too many directories"), 10 - config::ConfigErr::NotEnoughArgs(args) => println!("Missing {}", args), 11 - config::ConfigErr::UnknownArg(arg) => println!("Unknown arg {}", arg), 12 - config::ConfigErr::NotADirectory => println!("Not a directory"), 13 - } 14 - return Err(()); 15 - } 16 - }; 5 + let config = config::extract().or_else(|x| { 6 + println!("{}", x); 7 + Err(()) 8 + })?; 17 9 18 10 println!( 19 11 "user: {}