Move reading functions to seperate file
This commit is contained in:
parent
1faed7ed86
commit
a7d0961d3c
3 changed files with 40 additions and 32 deletions
|
@ -1,13 +1,12 @@
|
|||
use serde_yaml;
|
||||
use std::path::PathBuf;
|
||||
use std::collections::HashMap;
|
||||
use utils::{result_prefix, resolve_path, result_override};
|
||||
use std::fs::File;
|
||||
use std::env::current_dir;
|
||||
use std::io::Read;
|
||||
|
||||
|
||||
pub mod consts;
|
||||
pub mod csl;
|
||||
pub mod read;
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Eq, PartialEq, Hash, Clone)]
|
||||
pub enum OutputType {
|
||||
|
@ -65,31 +64,3 @@ impl References {
|
|||
fn default_verbosity() -> u64 {
|
||||
return 0;
|
||||
}
|
||||
|
||||
fn get_config_path() -> PathBuf {
|
||||
let mut working_dir = current_dir().unwrap();
|
||||
working_dir.push(consts::CONFIG_FILE_NAME);
|
||||
return working_dir;
|
||||
}
|
||||
|
||||
fn read() -> Result<String, String> {
|
||||
let config_path = get_config_path();
|
||||
let mut config_file = try!(result_override(
|
||||
File::open(&config_path),
|
||||
format!("Unable to find config file at {}", config_path.display())
|
||||
));
|
||||
let mut contents = String::new();
|
||||
try!(result_override(
|
||||
config_file.read_to_string(&mut contents),
|
||||
format!("Failed to read config file at {}.", config_path.display())
|
||||
));
|
||||
return Ok(contents);
|
||||
}
|
||||
|
||||
|
||||
pub fn get_config() -> Result<Config, String> {
|
||||
let config_str = try!(read());
|
||||
let config: Config =
|
||||
try!(result_prefix(serde_yaml::from_str(&config_str), "Config Parse Error".into()));
|
||||
return Ok(config);
|
||||
}
|
||||
|
|
37
src/config/read.rs
Normal file
37
src/config/read.rs
Normal file
|
@ -0,0 +1,37 @@
|
|||
use serde_yaml;
|
||||
use utils::{result_prefix, result_override};
|
||||
use config::Config;
|
||||
use config::consts;
|
||||
use std::io::Read;
|
||||
use std::fs::File;
|
||||
use std::env::current_dir;
|
||||
use std::path::PathBuf;
|
||||
|
||||
|
||||
fn get_config_path() -> PathBuf {
|
||||
let mut working_dir = current_dir().unwrap();
|
||||
working_dir.push(consts::CONFIG_FILE_NAME);
|
||||
return working_dir;
|
||||
}
|
||||
|
||||
fn read() -> Result<String, String> {
|
||||
let config_path = get_config_path();
|
||||
let mut config_file = try!(result_override(
|
||||
File::open(&config_path),
|
||||
format!("Unable to find config file at {}", config_path.display())
|
||||
));
|
||||
let mut contents = String::new();
|
||||
try!(result_override(
|
||||
config_file.read_to_string(&mut contents),
|
||||
format!("Failed to read config file at {}.", config_path.display())
|
||||
));
|
||||
return Ok(contents);
|
||||
}
|
||||
|
||||
|
||||
pub fn get_config() -> Result<Config, String> {
|
||||
let config_str = try!(read());
|
||||
let config: Config =
|
||||
try!(result_prefix(serde_yaml::from_str(&config_str), "Config Parse Error".into()));
|
||||
return Ok(config);
|
||||
}
|
|
@ -43,7 +43,7 @@ fn build(config: Config) -> Result<(), String> {
|
|||
}
|
||||
|
||||
fn get_config(args: ArgMatches) -> Config {
|
||||
let mut config = ok_or_exit(config::get_config());
|
||||
let mut config = ok_or_exit(config::read::get_config());
|
||||
config.verbosity = args::get_verbose(args);
|
||||
return config;
|
||||
}
|
||||
|
|
Reference in a new issue