diff options
author | Andy Wortman <ixineeringeverywhere@gmail.com> | 2017-11-13 01:50:33 -0800 |
---|---|---|
committer | Andy Wortman <ixineeringeverywhere@gmail.com> | 2017-11-13 01:50:33 -0800 |
commit | 672d50899438788e5656169e28a104b72563cb6b (patch) | |
tree | 865b98e8cfd4ca264b2aecc614dc8030b417a3f1 | |
parent | b9010d963eddd7412615935f430bde14c77ec25f (diff) |
inform me when the tweet cache cant be loaded
-rw-r--r-- | src/display/mod.rs | 4 | ||||
-rw-r--r-- | src/tw/mod.rs | 16 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/display/mod.rs b/src/display/mod.rs index 8760f4a..7233f75 100644 --- a/src/display/mod.rs +++ b/src/display/mod.rs @@ -217,7 +217,9 @@ pub fn paint(tweeter: &mut ::tw::TwitterCache) -> Result<(), std::io::Error> { wrapped.into_iter().rev().collect() }, Infos::DM(msg) => { - vec![format!("{}{}DM: {}", cursor::Goto(1, height - h), clear::CurrentLine, msg)] + let mut lines = vec![format!("{}{}{} DM:", cursor::Goto(1, height - h), clear::CurrentLine, "from")]; + lines.push(msg); + lines } Infos::User(user) => { vec![ diff --git a/src/tw/mod.rs b/src/tw/mod.rs index 5a3cdfc..08ec974 100644 --- a/src/tw/mod.rs +++ b/src/tw/mod.rs @@ -406,12 +406,20 @@ impl TwitterCache { let mut cache: TwitterCache = result; cache.tweets = HashMap::new(); for line in BufReader::new(File::open(TwitterCache::TWEET_CACHE).unwrap()).lines() { - let t: Tweet = serde_json::from_str(&line.unwrap()).unwrap(); - cache.number_and_insert_tweet(t); + let unwrapped_line = line.unwrap(); + let t: Result<Tweet, serde_json::Error> = serde_json::from_str(&unwrapped_line.clone()); + match t { + Ok(tweet) => cache.number_and_insert_tweet(tweet), + Err(e) => panic!(format!("{} on line {} - {:?}", e, cache.tweets.len(), unwrapped_line.clone())) + }; } for line in BufReader::new(File::open(TwitterCache::USERS_CACHE).unwrap()).lines() { - let u: User = serde_json::from_str(&line.unwrap()).unwrap(); - cache.users.insert(u.id.to_owned(), u); + let unwrapped_line = line.unwrap(); + let u: Result<User, serde_json::Error> = serde_json::from_str(&unwrapped_line.clone()); + match u { + Ok(user) => cache.users.insert(user.id.to_owned(), user), + Err(e) => panic!(format!("{} on line {} - {:?}", e, cache.users.len(), unwrapped_line.clone())) + }; } cache.caching_permitted = true; cache.needs_save = false; |