]> git.r.bdr.sh - rbdr/lyricli/blobdiff - src/configuration.rs
Update dependencies
[rbdr/lyricli] / src / configuration.rs
index f6784618490162c6a5f667c3be3561cb5276c2c9..8d79eba7cb13082e38d4d8a310621cd6406ecd56 100644 (file)
@@ -1,25 +1,23 @@
+use serde::{Deserialize, Serialize};
+use serde_json::{from_str, to_string};
 use std::env;
 use std::fs::{create_dir_all, write, File};
 use std::io::{Read, Result};
 use std::path::PathBuf;
 use std::env;
 use std::fs::{create_dir_all, write, File};
 use std::io::{Read, Result};
 use std::path::PathBuf;
-use serde::{Deserialize, Serialize};
-use serde_json;
 
 const CONFIG_ENV_VARIABLE: &str = "LYRICLI_CONFIG_DIRECTORY";
 const CONFIG_DEFAULT_LOCATION: &str = "XDG_CONFIG_HOME";
 const CONFIG_FALLBACK_LOCATION: &str = ".config";
 
 const CONFIG_ENV_VARIABLE: &str = "LYRICLI_CONFIG_DIRECTORY";
 const CONFIG_DEFAULT_LOCATION: &str = "XDG_CONFIG_HOME";
 const CONFIG_FALLBACK_LOCATION: &str = ".config";
-const CONFIG_SUBDIRECTORY: &str = ".config";
+const CONFIG_SUBDIRECTORY: &str = "lyricli";
 const CONFIG_FILENAME: &str = "lyricli.conf";
 
 #[derive(Serialize, Deserialize, Debug)]
 pub struct Configuration {
 const CONFIG_FILENAME: &str = "lyricli.conf";
 
 #[derive(Serialize, Deserialize, Debug)]
 pub struct Configuration {
-    enabled_sources: Vec<String>
+    enabled_sources: Vec<String>,
 }
 
 impl Configuration {
 }
 
 impl Configuration {
-
-    pub fn new() -> Self  {
-
+    pub fn new() -> Self {
         if let Some(configuration) = Configuration::read() {
             return configuration;
         }
         if let Some(configuration) = Configuration::read() {
             return configuration;
         }
@@ -55,8 +53,9 @@ impl Configuration {
         Configuration {
             enabled_sources: vec![
                 "apple_music".to_string(),
         Configuration {
             enabled_sources: vec![
                 "apple_music".to_string(),
-                "spotify".to_string()
-            ]
+                "spotify".to_string(),
+                "strawberry".to_string(),
+            ],
         }
     }
 
         }
     }
 
@@ -66,12 +65,12 @@ impl Configuration {
         let mut config_file = File::open(&config_file_path).ok()?;
         let mut config_contents = String::new();
         config_file.read_to_string(&mut config_contents).ok()?;
         let mut config_file = File::open(&config_file_path).ok()?;
         let mut config_contents = String::new();
         config_file.read_to_string(&mut config_contents).ok()?;
-        serde_json::from_str(&config_contents).ok()?
+        from_str(&config_contents).ok()?
     }
 
     fn write(configuration: &Configuration) -> Result<()> {
         let config_file_path = Configuration::file_path();
     }
 
     fn write(configuration: &Configuration) -> Result<()> {
         let config_file_path = Configuration::file_path();
-        if let Ok(serialized_configuration) = serde_json::to_string(&configuration) {
+        if let Ok(serialized_configuration) = to_string(&configuration) {
             write(&config_file_path, serialized_configuration)?;
         }
         Ok(())
             write(&config_file_path, serialized_configuration)?;
         }
         Ok(())
@@ -90,9 +89,13 @@ impl Configuration {
                 Ok(directory) => PathBuf::from(directory),
                 Err(_) => match env::var("HOME") {
                     Ok(directory) => PathBuf::from(directory).join(CONFIG_FALLBACK_LOCATION),
                 Ok(directory) => PathBuf::from(directory),
                 Err(_) => match env::var("HOME") {
                     Ok(directory) => PathBuf::from(directory).join(CONFIG_FALLBACK_LOCATION),
-                    Err(_) => panic!("Could not find required directory, {} or {} should be set and readable.", CONFIG_ENV_VARIABLE, CONFIG_DEFAULT_LOCATION),
+                    Err(_) => panic!(
+                        "Could not find required directory, {} or {} should be set and readable.",
+                        CONFIG_ENV_VARIABLE, CONFIG_DEFAULT_LOCATION
+                    ),
                 },
             },
                 },
             },
-        }.join(CONFIG_SUBDIRECTORY)
+        }
+        .join(CONFIG_SUBDIRECTORY)
     }
 }
     }
 }