use std::env;
use configparser::ini::Ini;
use dirs_next::home_dir;
const INIFILE:&str = ".nexgenomicsrc";
#[allow(dead_code)]
pub fn get_api_auth_token() -> Option<String> {
let envstring = "API_AUTH_TOKEN";
let section = "nexgenomics";
let key = "api_auth_token";
if let Ok(env_val) = env::var(envstring) {
return Some(env_val);
}
let fname = home_dir().map(|mut path| {
path.push (INIFILE);
path
});
let mut config = Ini::new();
let _ = config.load(fname.unwrap());
match config.get(section,key) {
Some(a) => Some(a),
None => panic!("No API auth token")
}
}
#[allow(dead_code)]
pub fn get_api_url_stem() -> Option<String> {
let envstring = "API_URL_STEM";
let section = "nexgenomics";
let key = "api_url_stem";
if let Ok(env_val) = env::var(envstring) {
return Some(env_val);
}
let fname = home_dir().map(|mut path| {
path.push (INIFILE);
path
});
let mut config = Ini::new();
let _ = config.load(fname.unwrap());
match config.get(section,key) {
Some(a) => Some(a),
None => panic!("No API url stem")
}
}