aboutsummaryrefslogtreecommitdiff
path: root/src/commands/fav.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/fav.rs')
-rw-r--r--src/commands/fav.rs18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/commands/fav.rs b/src/commands/fav.rs
index 1cb41e4..89e1987 100644
--- a/src/commands/fav.rs
+++ b/src/commands/fav.rs
@@ -15,13 +15,14 @@ pub static UNFAV: Command = Command {
};
fn unfav(line: String, tweeter: &mut tw::TwitterCache, queryer: &mut Queryer) {
- // TODO handle this unwrap
-// let inner_twid = u64::from_str(&line).unwrap();
let maybe_id = TweetId::parse(line.to_owned());
match maybe_id {
Ok(twid) => {
- let twete = tweeter.retrieve_tweet(&twid).unwrap();
- queryer.do_api_post(&format!("{}?id={}", UNFAV_TWEET_URL, twete.id));
+ if let Some(twete) = tweeter.retrieve_tweet(&twid).map(|x| x.clone()) { // TODO: no clone when this stops taking &mut self
+ queryer.do_api_post(&format!("{}?id={}", UNFAV_TWEET_URL, twete.id));
+ } else {
+ tweeter.display_info.status(format!("No tweet for id: {:?}", twid));
+ }
}
Err(e) => {
println!("Invalid id: {}", e);
@@ -36,12 +37,15 @@ pub static FAV: Command = Command {
};
fn fav(line: String, tweeter: &mut tw::TwitterCache, queryer: &mut Queryer) {
- // TODO handle this unwrap
let maybe_id = TweetId::parse(line.to_owned());
match maybe_id {
Ok(twid) => {
- let twete = tweeter.retrieve_tweet(&twid).unwrap();
- queryer.do_api_post(&format!("{}?id={}", FAV_TWEET_URL, twete.id));
+ // tweeter.to_twitter_tweet_id(twid)...
+ if let Some(twete) = tweeter.retrieve_tweet(&twid).map(|x| x.clone()) { // TODO: no clone when this stops taking &mut self
+ queryer.do_api_post(&format!("{}?id={}", FAV_TWEET_URL, twete.id));
+ } else {
+ tweeter.display_info.status(format!("No tweet for id: {:?}", twid));
+ }
}
Err(e) => {
println!("Invalid id: {}", e);