gog-sync 0.3.4

Synchronizes a GOG library with a local folder.
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Config {
    #[serde(default)]
    pub game_storage: String,
    #[serde(default)]
    pub movie_storage: String,
    #[serde(default = "default_list")]
    pub os_filters: Vec<String>,
    #[serde(default = "default_list")]
    pub language_filters: Vec<String>,
    #[serde(default = "default_list")]
    pub resolution_filters: Vec<String>,
    #[serde(default)]
    pub skip_movies: bool,
    #[serde(default)]
    pub skip_games: bool,
}

impl Config {
    pub fn new() -> Config {
        Config {
            game_storage: String::from("."),
            movie_storage: String::from("."),
            os_filters: Vec::new(),
            language_filters: Vec::new(),
            resolution_filters: Vec::new(),
            skip_movies: false,
            skip_games: false,
        }
    }
}

fn default_list() -> Vec<String> {
    Vec::new()
}