Create files for configuration

This commit is contained in:
Philip Kristoffersen
2021-09-24 23:08:35 +02:00
parent 517cf87d87
commit 60dd680c33
8 changed files with 221 additions and 7 deletions
Generated
+151 -6
View File
@@ -2,6 +2,21 @@
# It is not intended for manual editing.
version = 3
[[package]]
name = "aho-corasick"
version = "0.7.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
dependencies = [
"memchr",
]
[[package]]
name = "arrayvec"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
[[package]]
name = "ascii"
version = "1.0.0"
@@ -68,6 +83,22 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "config"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b1b9d958c2b1368a663f05538fc1b5975adce1e19f435acceae987aceeeb369"
dependencies = [
"lazy_static",
"nom 5.1.2",
"rust-ini",
"serde 1.0.130",
"serde-hjson",
"serde_json",
"toml",
"yaml-rust",
]
[[package]]
name = "core-foundation"
version = "0.9.1"
@@ -352,12 +383,31 @@ version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "lexical-core"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
dependencies = [
"arrayvec",
"bitflags",
"cfg-if",
"ryu",
"static_assertions",
]
[[package]]
name = "libc"
version = "0.2.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21"
[[package]]
name = "linked-hash-map"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
[[package]]
name = "lock_api"
version = "0.4.5"
@@ -440,6 +490,17 @@ dependencies = [
"tempfile",
]
[[package]]
name = "nom"
version = "5.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
dependencies = [
"lexical-core",
"memchr",
"version_check",
]
[[package]]
name = "nom"
version = "6.2.1"
@@ -483,6 +544,24 @@ dependencies = [
"winapi",
]
[[package]]
name = "num-traits"
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
dependencies = [
"num-traits 0.2.14",
]
[[package]]
name = "num-traits"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
dependencies = [
"autocfg",
]
[[package]]
name = "num_cpus"
version = "1.13.0"
@@ -660,6 +739,23 @@ dependencies = [
"bitflags",
]
[[package]]
name = "regex"
version = "1.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
[[package]]
name = "remove_dir_all"
version = "0.5.3"
@@ -692,7 +788,7 @@ dependencies = [
"native-tls",
"percent-encoding",
"pin-project-lite",
"serde",
"serde 1.0.130",
"serde_json",
"serde_urlencoded",
"tokio",
@@ -704,6 +800,12 @@ dependencies = [
"winreg",
]
[[package]]
name = "rust-ini"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2"
[[package]]
name = "ryu"
version = "1.0.5"
@@ -749,6 +851,12 @@ dependencies = [
"libc",
]
[[package]]
name = "serde"
version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8"
[[package]]
name = "serde"
version = "1.0.130"
@@ -758,6 +866,18 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "serde-hjson"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a3a4e0ea8a88553209f6cc6cfe8724ecad22e1acf372793c27d995290fe74f8"
dependencies = [
"lazy_static",
"num-traits 0.1.43",
"regex",
"serde 0.8.23",
]
[[package]]
name = "serde_derive"
version = "1.0.130"
@@ -777,7 +897,7 @@ checksum = "a7f9e390c27c3c0ce8bc5d725f6e4d30a29d26659494aa4b17535f7522c5c950"
dependencies = [
"itoa",
"ryu",
"serde",
"serde 1.0.130",
]
[[package]]
@@ -789,7 +909,7 @@ dependencies = [
"form_urlencoded",
"itoa",
"ryu",
"serde",
"serde 1.0.130",
]
[[package]]
@@ -823,12 +943,19 @@ dependencies = [
"winapi",
]
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "steam_shortcuts_sync"
version = "0.1.0"
dependencies = [
"config",
"reqwest",
"serde",
"serde 1.0.130",
"serde_json",
"steam_shortcuts_util",
"steamgriddb_api",
@@ -854,7 +981,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49989dd0a9cb16bc02ea1939b513e310fcdbc31d52981d8c70bcb86a23b12d5f"
dependencies = [
"reqwest",
"serde",
"serde 1.0.130",
"serde_json",
"urlencoding",
]
@@ -960,6 +1087,15 @@ dependencies = [
"tokio",
]
[[package]]
name = "toml"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
dependencies = [
"serde 1.0.130",
]
[[package]]
name = "tower-service"
version = "0.3.1"
@@ -1066,7 +1202,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0"
dependencies = [
"cfg-if",
"serde",
"serde 1.0.130",
"serde_json",
"wasm-bindgen-macro",
]
@@ -1173,3 +1309,12 @@ name = "wyz"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
[[package]]
name = "yaml-rust"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
dependencies = [
"linked-hash-map",
]
+2 -1
View File
@@ -11,4 +11,5 @@ steamgriddb_api="0.2,0"
serde={version="*", features=["derive"]}
serde_json="*"
tokio = { version = "1.11.0", features = ["full"] }
reqwest = { version = "*", features = ["default"] }
reqwest = { version = "*", features = ["default"] }
config = "*"
+1
View File
@@ -1,4 +1,5 @@
mod get_manifests;
mod manifest_item;
mod settings;
pub use manifest_item::*;
pub use get_manifests::get_egs_manifests;
+29
View File
@@ -0,0 +1,29 @@
use serde::Deserialize;
#[derive(Debug, Deserialize)]
struct EpicGamesLauncher {
enabled: bool,
location: Option<String>,
}
impl Default for EpicGamesLauncher {
fn default() -> Self {
// On windows
// Even if no path is given, we can try to guess, so lets enable by default
#[cfg(target_os = "windows")]
let enabled = true;
// On linux
// We can notguess, so lets not enable by default
#[cfg(target_os = "linux")]
let enabled = false;
EpicGamesLauncher {
enabled,
location: None,
}
}
}
+2
View File
@@ -9,6 +9,8 @@ use std::{
mod cached_search;
mod egs;
mod legendary;
mod steamgriddb;
use crate::legendary::get_legendary_games;
use egs::{get_egs_manifests, ManifestItem};
use std::error::Error;
+18
View File
@@ -0,0 +1,18 @@
use std::env;
use config::{ConfigError, Config, File, Environment};
#[derive(Debug, Deserialize)]
pub struct Settings {
debug: bool,
database: EpicGamesLauncher,
}
//https://github.com/JosefNemec/Playnite/tree/master/source/Plugins/OriginLibrary
//https://github.com/JosefNemec/Playnite/blob/master/source/Plugins/OriginLibrary/Origin.cs#L109
impl Settings {
pub fn new() -> Result<Self, ConfigError> {
}
}
+2
View File
@@ -0,0 +1,2 @@
mod settings;
pub use settings::*;
+16
View File
@@ -0,0 +1,16 @@
use serde::Deserialize;
#[derive(Debug, Deserialize)]
pub struct SteamGridDb {
pub enabled: bool,
pub auth_key: Option<String>,
}
impl Default for SteamGridDb {
fn default() -> Self {
Self {
enabled: true,
auth_key: None,
}
}
}