]> git.r.bdr.sh - rbdr/lyricli/blobdiff - Sources/configuration.swift
Update swift files to use Bariloche
[rbdr/lyricli] / Sources / configuration.swift
diff --git a/Sources/configuration.swift b/Sources/configuration.swift
deleted file mode 100644 (file)
index 05e2802..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-import Foundation
-
-// Reads and writes the configuration. Config keys are accessed as a dictionary.
-class Configuration {
-    // Location of the global configuration file
-    private let configurationPath = NSString(string: "~/.lyricli.conf").expandingTildeInPath
-
-    // Default options, will be automatically written to the global config if
-    // not found.
-    private var configuration: [String: Any] =  [
-        "enabled_sources": ["arguments", "itunes", "spotify"]
-    ]
-
-    // The shared instance of the object
-    static let shared: Configuration = Configuration()
-
-    private init() {
-
-        // Read the config file and attempt to set any of the values. Otherwise
-        // don't do anything.
-
-        if let data = try? NSData(contentsOfFile: configurationPath) as Data {
-            if let parsedConfig = try? JSONSerialization.jsonObject(with: data) {
-                if let parsedConfig = parsedConfig as? [String: Any] {
-                    for (key, value) in parsedConfig {
-
-                        if key == "enabled_sources" {
-                            if let value = value as? [String] {
-                                configuration[key] = value
-                            }
-                        } else {
-                            if let value = value as? String {
-                                configuration[key] = value
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        writeConfiguration()
-    }
-
-    // Write the configuration back to the file
-    private func writeConfiguration() {
-
-        var error: NSError?
-
-        if let outputStream = OutputStream(toFileAtPath: configurationPath, append: false) {
-            outputStream.open()
-            JSONSerialization.writeJSONObject(configuration,
-                    to: outputStream,
-                    options: [JSONSerialization.WritingOptions.prettyPrinted],
-                    error: &error)
-            outputStream.close()
-        }
-    }
-
-    // Allow access to the config properties as a dictionary
-    subscript(index: String) -> Any? {
-        get {
-            return configuration[index]
-        }
-
-        set(newValue) {
-            configuration[index] = newValue
-            writeConfiguration()
-        }
-    }
-}