diff --git a/src/main.rs b/src/main.rs index f4979da..8f8504c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -42,25 +42,34 @@ fn main() { if let Ok(guild_list) = wynncraft::guild_list() { let conn = establish_connection(); + let mut guilds = vec![]; + guild_list.into_iter().for_each(|name| { thread::sleep_ms(2500); println!("Getting {:?}", name); if let Ok(Some(prefix)) = wynncraft::guild(&name).map(|x| x.map(|x| x.prefix)) { let guild = Guild { prefix: prefix.trim().to_owned(), name }; - if let Ok(_) = diesel::insert_into(guilds::table) - .values(&guild) - .on_conflict(guilds::prefix) - .do_nothing() - .execute(&conn) { - let _ = reqwest::get("https://wynnapi.herokuapp.com/").unwrap(); - } else { - println!("Fail!"); - } + guilds.push(guild); + let _ = reqwest::get("https://wynnapi.herokuapp.com/").unwrap(); } else { println!("Fail!"); } }); + if let Err(e) = diesel::delete(guilds::table).execute(&conn) { + println!("Mysterious error from DB: {:?}", e); + } + println!("Inserting guilds..."); + for guild in &guilds { + if let Err(e) = diesel::insert_into(guilds::table) + .values(guild) + .on_conflict(guilds::prefix) + .do_nothing() + .execute(&conn) { + println!("Mysterious error from DB: {:?}", e); + } + } + println!("Guilds updated!"); }