add ability to update config file, implement debug for Config, and add a utility function
This commit is contained in:
parent
b9def3324e
commit
d55c600eee
14
src/lib.rs
14
src/lib.rs
|
@ -40,6 +40,18 @@ pub fn read_config(file: &String) -> Config {
|
||||||
serde_json::from_str(&read[..]).expect("couldn't parse config file's json")
|
serde_json::from_str(&read[..]).expect("couldn't parse config file's json")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn update_latest_date(file: &String, new_date: String) {
|
||||||
|
let mut prevconfig = read_config(file);
|
||||||
|
prevconfig.latest_date = new_date;
|
||||||
|
|
||||||
|
let newconfig = serde_json::to_string(&prevconfig).expect("couldn't serialize json data");
|
||||||
|
fs::write(file.replace('~', &get_home()[..]), newconfig).expect("couldn't write to config file");
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn link_to_datestring(link: String) -> String {
|
||||||
|
link.split("=").collect::<Vec<&str>>().pop().unwrap().to_string()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn ensure_exists(path: String) {
|
pub fn ensure_exists(path: String) {
|
||||||
let p = Path::new(&path);
|
let p = Path::new(&path);
|
||||||
if !p.exists() {
|
if !p.exists() {
|
||||||
|
@ -47,7 +59,7 @@ pub fn ensure_exists(path: String) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
pub struct Config {
|
pub struct Config {
|
||||||
pub latest_date: String,
|
pub latest_date: String,
|
||||||
pub cache_folder: String,
|
pub cache_folder: String,
|
||||||
|
|
|
@ -20,4 +20,6 @@ async fn main() {
|
||||||
|
|
||||||
let current_page = ggg::get_page(config.latest_date).await;
|
let current_page = ggg::get_page(config.latest_date).await;
|
||||||
println!("{current_page:?}");
|
println!("{current_page:?}");
|
||||||
|
|
||||||
|
ggg::update_latest_date(&config_file, ggg::link_to_datestring(current_page.next_page.unwrap()));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue