From 187e07361a5ecd3f46120e99ffb3298ddc4c4abf Mon Sep 17 00:00:00 2001 From: Sam Schlinkert Date: Wed, 15 Sep 2021 22:39:30 -0400 Subject: [PATCH] does a bit of clean up of the echobot example --- examples/echobot.rs | 53 ++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/examples/echobot.rs b/examples/echobot.rs index 7c961e6..d137566 100644 --- a/examples/echobot.rs +++ b/examples/echobot.rs @@ -1,20 +1,17 @@ -use std::{thread}; +use std::thread; use libcwtch; +use libcwtch::structs::*; use libcwtch::CwtchLib; -use libcwtch::structs::{*}; fn main() { - let bot_home: String = "example_cwtch_dir".to_string(); - match std::fs::remove_dir_all(&bot_home) { - Err(_e) => (), - _ => (), - } - std::fs::create_dir_all(&bot_home).unwrap(); + let bot_home = "example_cwtch_dir"; + std::fs::remove_dir_all(&bot_home).expect("Error removing previous bot_home directory"); + std::fs::create_dir_all(&bot_home).expect("Error creating bot_home directory"); let cwtch = libcwtch::new_cwtchlib_go(); println!("start_cwtch"); - let ret = cwtch.start_cwtch(bot_home.as_str(), ""); + let ret = cwtch.start_cwtch(bot_home, ""); println!("start_cwtch returned {}", ret); let event_loop_handle = thread::spawn(move || { @@ -22,33 +19,45 @@ fn main() { let event_str = cwtch.get_appbus_event(); println!("event: {}", event_str); - let event: CwtchEvent = serde_json::from_str(&event_str).unwrap(); + let event: CwtchEvent = + serde_json::from_str(&event_str).expect("Error parsing Cwtch event"); match event.event_type.as_str() { "CwtchStarted" => { println!("event CwtchStarted!"); println!("Creating bot"); cwtch.create_profile("Echobot", "be gay do crime"); - }, + } "NewPeer" => { - println!("\n***** {} at {} *****\n", event.data["name"], event.data["Identity"]); + println!( + "\n***** {} at {} *****\n", + event.data["name"], event.data["Identity"] + ); // process json for profile, contacts and servers...else { - let profile = Profile::new(&event.data["Identity"], &event.data["name"], &event.data["picture"], &event.data["ContactsJson"], &event.data["ServerList"]); + let profile = Profile::new( + &event.data["Identity"], + &event.data["name"], + &event.data["picture"], + &event.data["ContactsJson"], + &event.data["ServerList"], + ); print!("profile: {:?}", profile); } "NewMessageFromPeer" => { - let to = event.data["ProfileOnion"].to_string(); - let conversation = event.data["RemotePeer"].to_string(); - let message: Message = serde_json::from_str(event.data["Data"].as_str()).unwrap(); + let to = &event.data["ProfileOnion"]; + let conversation = &event.data["RemotePeer"]; + let message: Message = + serde_json::from_str(&event.data["Data"]).expect("Error parsing message"); - let response = Message{o:1, d:message.d}; - let response_json = serde_json::to_string(&response).unwrap(); - cwtch.send_message(to.as_str(), conversation.as_str(), response_json.as_str()); + let response = Message { o: 1, d: message.d }; + let response_json = + serde_json::to_string(&response).expect("Error parsing json response"); + cwtch.send_message(&to, &conversation, &response_json); } - _ => println!("unhandled event!"), + _ => eprintln!("unhandled event!"), }; - }; + } }); - event_loop_handle.join().unwrap(); + event_loop_handle.join().expect("Error running event loop"); }