diff --git a/.vscode/launch.json b/.vscode/launch.json index 2463afa..d909cf0 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,7 +5,7 @@ "name": "Debug", "type": "lldb-mi", "request": "launch", - "target": "./target/debug/gog-backup", + "target": "./target/debug/gog-sync", "cwd": "${workspaceRoot}" } ] diff --git a/Hostile Waters: Antaeus Rising/.progress b/Hostile Waters: Antaeus Rising/.progress deleted file mode 100644 index 9a7e368..0000000 Binary files a/Hostile Waters: Antaeus Rising/.progress and /dev/null differ diff --git a/src/gog.rs b/src/gog.rs index 15dda27..b36ea22 100644 --- a/src/gog.rs +++ b/src/gog.rs @@ -134,7 +134,7 @@ impl<'a> Gog<'a> { let mut config: Config = match configfiles.load("config.json") { Ok(value) => value, Err(_) => { - error!("Configuration error, generating new one..."); + error!("Configuration error, generating new one"); Config { game_storage: String::from(storage_path), @@ -340,9 +340,16 @@ impl<'a> Gog<'a> { fn parse_cd_keys(&self, content_title: &str, raw_cd_keys: &str) -> BTreeMap { let mut cd_keys = BTreeMap::new(); + let mut raw_cd_keys_fix = raw_cd_keys.to_owned(); - if raw_cd_keys.contains("
") { - let splitted_keys = raw_cd_keys.split("
"); + if raw_cd_keys_fix.contains("") { + raw_cd_keys_fix = raw_cd_keys_fix.replace("", "
") + .replace("", "") + .replace("", ""); + } + + if raw_cd_keys_fix.contains("
") { + let splitted_keys = raw_cd_keys_fix.split("
"); let mut key_names: Vec = Vec::new(); let mut key_values: Vec = Vec::new(); @@ -361,8 +368,8 @@ impl<'a> Gog<'a> { let key_value = key_values[index].clone(); cd_keys.insert(key_name.clone(), key_value); } - } else if !raw_cd_keys.is_empty() { - cd_keys.insert(content_title.to_owned(), raw_cd_keys.trim().to_owned()); + } else if !raw_cd_keys_fix.is_empty() { + cd_keys.insert(content_title.to_owned(), raw_cd_keys_fix.trim().to_owned()); } return cd_keys;