subtitle_translator_cli/
config.rs1pub struct Config {
2 pub file_path: String,
3 pub file_name: String,
4 pub input_language: String,
5 pub output_language: String,
6}
7
8impl Config {
9 pub fn build(mut args: impl Iterator<Item = String>) -> Result<Config, &'static str> {
10 args.next(); let file_path = match args.next() {
12 Some(arg) => arg,
13 None => return Err("No file path provided"),
14 };
15 let file_name = file_path.split('/').last().unwrap().to_string();
16 let input_language = match args.next() {
17 Some(arg) => arg,
18 None => return Err("No input language provided"),
19 };
20 let output_language = match args.next() {
21 Some(arg) => arg,
22 None => return Err("No output language provided"),
23 };
24 Ok(Config {
25 file_path,
26 file_name,
27 input_language,
28 output_language,
29 })
30 }
31}