mirror of
https://github.com/hannobraun/Fornjot
synced 2025-02-26 09:05:52 +00:00
Merge pull request #364 from hannobraun/config
Make configuration optional
This commit is contained in:
commit
1aa0981a73
@ -9,8 +9,8 @@ use serde::Deserialize;
|
|||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
pub struct Config {
|
pub struct Config {
|
||||||
pub default_path: PathBuf,
|
pub default_path: Option<PathBuf>,
|
||||||
pub default_model: PathBuf,
|
pub default_model: Option<PathBuf>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Config {
|
impl Config {
|
||||||
|
15
src/main.rs
15
src/main.rs
@ -12,6 +12,7 @@ mod window;
|
|||||||
|
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use std::ffi::OsStr;
|
use std::ffi::OsStr;
|
||||||
|
use std::path::PathBuf;
|
||||||
use std::{collections::HashMap, sync::mpsc, time::Instant};
|
use std::{collections::HashMap, sync::mpsc, time::Instant};
|
||||||
|
|
||||||
use futures::executor::block_on;
|
use futures::executor::block_on;
|
||||||
@ -54,8 +55,18 @@ fn main() -> anyhow::Result<()> {
|
|||||||
let args = Args::parse();
|
let args = Args::parse();
|
||||||
let config = Config::load()?;
|
let config = Config::load()?;
|
||||||
|
|
||||||
let mut path = config.default_path;
|
let mut path = config.default_path.unwrap_or_else(|| PathBuf::from(""));
|
||||||
path.push(args.model.unwrap_or(config.default_model));
|
match args.model.or(config.default_model) {
|
||||||
|
Some(model) => {
|
||||||
|
path.push(model);
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
anyhow::bail!(
|
||||||
|
"No model specified, and no default model configured.\n\
|
||||||
|
Specify a model by passing `--model path/to/model`."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let model = Model::from_path(path)?;
|
let model = Model::from_path(path)?;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user