diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-10 02:44:48 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-10 02:44:48 -0500 |
commit | 5271c8503199ea6e14f298743b28f2262a7e216a (patch) | |
tree | a623ee230049a0c4fe5e5cedde967dcd79b5d0a0 /src/util.rs | |
parent | ef7cd5bc677c6aabf5517e74ab64eb84d4784057 (diff) | |
download | lastfm-query-5271c8503199ea6e14f298743b28f2262a7e216a.tar.gz lastfm-query-5271c8503199ea6e14f298743b28f2262a7e216a.zip |
rename paths to util, and add more stuff to it
Diffstat (limited to 'src/util.rs')
-rw-r--r-- | src/util.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/util.rs b/src/util.rs new file mode 100644 index 0000000..3e95981 --- /dev/null +++ b/src/util.rs @@ -0,0 +1,25 @@ +pub fn program_name() -> failure::Fallible<String> { + let program = std::env::args() + .next() + .ok_or_else(|| format_err!("no program name found"))?; + let path = std::path::Path::new(&program); + let filename = path.file_name() + .ok_or_else(|| format_err!("invalid filename found"))? + .to_string_lossy() + .to_string(); + Ok(filename) +} + +pub fn db_path() -> failure::Fallible<std::path::PathBuf> { + Ok(directories::ProjectDirs::from("", "", "lastfm-query") + .ok_or_else(|| failure::err_msg("couldn't determine data directory"))? + .data_dir() + .join("tracks.sqlite")) +} + +pub fn api_key_path() -> failure::Fallible<std::path::PathBuf> { + Ok(directories::ProjectDirs::from("", "", "lastfm-query") + .ok_or_else(|| failure::err_msg("couldn't determine config directory"))? + .config_dir() + .join("lastfm-api-key")) +} |