From 41f6535a480bb9b0ff085e0144852827633f2305 Mon Sep 17 00:00:00 2001 From: Andy Wortman Date: Wed, 1 Nov 2017 04:31:43 -0700 Subject: move more logging to be through DisplayInfo statuses move DisplayInfo into ... display flush output, duh --- src/main.rs | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 4352fe9..c46fec1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -55,10 +55,10 @@ pub struct Queryer { } impl Queryer { - fn do_api_get(&mut self, url: &str) -> Option { + fn do_api_get(&mut self, url: &str) -> Result { self.issue_request(signed_api_get(url)) } - fn do_api_post(&mut self, url: &str) -> Option { + fn do_api_post(&mut self, url: &str) -> Result { self.issue_request(signed_api_post(url)) } /* @@ -66,7 +66,7 @@ impl Queryer { self.issue_request(signed_web_get(url)) }*/ // TODO: make this return the status as well! - fn issue_request(&mut self, req: hyper::client::Request) -> Option { + fn issue_request(&mut self, req: hyper::client::Request) -> Result { let lookup = self.client.request(req); let resp: hyper::Response = self.core.run(lookup).unwrap(); @@ -79,19 +79,13 @@ impl Queryer { match serde_json::from_slice(&resp_body) { Ok(value) => { if status != hyper::StatusCode::Ok { - println!("!! Requests returned status: {}", status); - println!("{}", value); - None + Err(format!("!! Requests returned status: {}\n{}", status, value)) } else { - Some(value) + Ok(value) } } Err(e) => { - if status != hyper::StatusCode::Ok { - println!("!! Requests returned status: {}", status); - } - println!("error deserializing json: {}", e); - None + Err(format!("!! Requests returned status: {}\nerror deserializing json: {}", status, e)) } } } @@ -171,7 +165,6 @@ fn signed_api_req(url: &str, method: Method) -> hyper::client::Request { headers.set(Accept("*/*".to_owned())); }; -// println!("Request built: {:?}", req); req } @@ -181,8 +174,6 @@ fn main() { // let url = "https://stream.twitter.com/1.1/statuses/filter.json"; // let url = "https://stream.twitter.com/1.1/statuses/sample.json"; - println!("starting!"); - let (ui_tx, mut ui_rx) = chan::sync::>(0); let mut twete_rx = connect_twitter_stream(); @@ -231,8 +222,6 @@ fn main() { } } } - - println!("Bye bye"); } fn do_ui(ui_rx_orig: chan::Receiver>, twete_rx: chan::Receiver>, mut tweeter: &mut tw::TwitterCache, mut queryer: &mut ::Queryer) -> Option<(chan::Receiver>, chan::Receiver>)> { @@ -243,7 +232,6 @@ fn do_ui(ui_rx_orig: chan::Receiver>, twete_rx: chan::Receiver>, twete_rx.recv() -> twete => match twete { Some(line) => { let jsonstr = std::str::from_utf8(&line).unwrap().trim(); -// println!("{}", jsonstr); /* TODO: replace from_str with from_slice */ let json: serde_json::Value = serde_json::from_str(&jsonstr).unwrap(); tw::handle_message(json, &mut tweeter, &mut queryer); @@ -252,7 +240,7 @@ fn do_ui(ui_rx_orig: chan::Receiver>, twete_rx: chan::Receiver>, } } None => { - println!("Twitter stream hung up..."); + tweeter.display_info.status("Twitter stream hung up...".to_owned()); chan_select! { ui_rx_b.recv() -> input => match input { Some(line) => { @@ -271,13 +259,16 @@ fn do_ui(ui_rx_orig: chan::Receiver>, twete_rx: chan::Receiver>, Some(line) => { tweeter.handle_user_input(line, &mut queryer); }, - None => println!("UI thread hung up...") + None => tweeter.display_info.status("UI thread hung up...".to_owned()) } // and then we can introduce a channel that just sends a message every 100 ms or so // that acts as a clock! } // one day display_info should be distinct - display::paint(tweeter); + match display::paint(tweeter) { + Ok(_) => (), + Err(e) => println!("{}", e) // TODO: we got here because writing to stdout failed. what to do now? + }; } } @@ -326,9 +317,6 @@ fn connect_twitter_stream() -> chan::Receiver> { .connector(connector) .build(&core.handle()); - // println!("{}", do_web_req("https://caps.twitter.com/v2/capi/passthrough/1?twitter:string:card_uri=card://887655800482787328&twitter:long:original_tweet_id=887655800981925888&twitter:string:response_card_name=poll3choice_text_only&twitter:string:cards_platform=Web-12", &client, &mut core).unwrap()); - // println!("{}", look_up_tweet("887655800981925888", &client, &mut core).unwrap()); - let req = signed_api_get(STREAMURL); let work = client.request(req).and_then(|res| { let status = res.status(); -- cgit v1.1