From 983f073965024770f70ab29611f593c961499653 Mon Sep 17 00:00:00 2001 From: iximeow Date: Sat, 25 Nov 2017 18:39:04 -0800 Subject: extract DisplayInfo from TwitterCache what a mess... threading this through to any point where printing happens is upsetting. probably should be a global mutable behind accessors. --- src/commands/look_up.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/commands/look_up.rs') diff --git a/src/commands/look_up.rs b/src/commands/look_up.rs index 7bd5885..2674b34 100644 --- a/src/commands/look_up.rs +++ b/src/commands/look_up.rs @@ -1,3 +1,4 @@ +use display::DisplayInfo; use tw; use tw::TweetId; use display; @@ -13,12 +14,12 @@ pub static LOOK_UP_USER: Command = Command { help_str: "Look up the user by the specified twitter user ID, display name/handle." }; -fn look_up_user(line: String, tweeter: &mut tw::TwitterCache, mut queryer: &mut Queryer) { +fn look_up_user(line: String, tweeter: &mut tw::TwitterCache, mut queryer: &mut Queryer, display_info: &mut DisplayInfo) { // should probably just pass the id? - if let Some(user) = tweeter.fetch_user(&line, &mut queryer).map(|x| x.clone()) { - tweeter.display_info.recv(display::Infos::User(user)); + if let Some(user) = tweeter.fetch_user(&line, &mut queryer, display_info).map(|x| x.clone()) { + display_info.recv(display::Infos::User(user)); } else { - tweeter.display_info.status(format!("Couldn't retrieve {}", line)); + display_info.status(format!("Couldn't retrieve {}", line)); } } @@ -31,17 +32,17 @@ pub static LOOK_UP_TWEET: Command = Command { }; // TODO: make this parse a proper tweet id -fn look_up_tweet(line: String, tweeter: &mut tw::TwitterCache, mut queryer: &mut Queryer) { +fn look_up_tweet(line: String, tweeter: &mut tw::TwitterCache, mut queryer: &mut Queryer, display_info: &mut DisplayInfo) { match TweetId::parse(line) { Ok(twid) => { - if let Some(tweet) = tweeter.fetch_tweet(&twid, &mut queryer).map(|x| x.clone()) { - tweeter.display_info.recv(display::Infos::Tweet(twid)); + if let Some(tweet) = tweeter.fetch_tweet(&twid, &mut queryer, display_info).map(|x| x.clone()) { + display_info.recv(display::Infos::Tweet(twid)); } else { - tweeter.display_info.status(format!("Couldn't retrieve {:?}", twid)); + display_info.status(format!("Couldn't retrieve {:?}", twid)); } }, Err(e) => { - tweeter.display_info.status(format!("Invalid id {:?}", e)); + display_info.status(format!("Invalid id {:?}", e)); } } } -- cgit v1.1