aboutsummaryrefslogtreecommitdiff
path: root/display/mod.rs
diff options
context:
space:
mode:
authorAndy Wortman <ixineeringeverywhere@gmail.com>2017-10-02 01:27:08 -0700
committerAndy Wortman <ixineeringeverywhere@gmail.com>2017-10-02 01:27:18 -0700
commitea4e93f01d9e4ef17effae1e9a807bb1977865fe (patch)
tree08cfbcc32b9fbea5f13fd3447026090f51402274 /display/mod.rs
parentafd61ae0822690f30d37859c806a8d8d843b8c1a (diff)
move everything to src/
Diffstat (limited to 'display/mod.rs')
-rw-r--r--display/mod.rs147
1 files changed, 0 insertions, 147 deletions
diff --git a/display/mod.rs b/display/mod.rs
deleted file mode 100644
index 24f7e33..0000000
--- a/display/mod.rs
+++ /dev/null
@@ -1,147 +0,0 @@
-extern crate termion;
-
-use self::termion::color;
-
-use ::tw;
-
-use std;
-
-fn color_for(handle: &String) -> termion::color::Fg<&color::Color> {
- let color_map: Vec<&color::Color> = vec![
- &color::Blue,
- &color::Cyan,
- &color::Green,
- &color::LightBlue,
- &color::LightCyan,
- &color::LightGreen,
- &color::LightMagenta,
- &color::LightYellow,
- &color::Magenta,
- &color::Yellow
- ];
-
- let mut quot_hash_quot = std::num::Wrapping(0);
- for b in handle.as_bytes().iter() {
- quot_hash_quot = quot_hash_quot + std::num::Wrapping(*b);
- }
- color::Fg(color_map[quot_hash_quot.0 as usize % color_map.len()])
-}
-
-pub trait Render {
- fn render(self, tweeter: &::tw::TwitterCache);
-}
-
-impl Render for tw::events::Event {
- fn render(self, tweeter: &::tw::TwitterCache) {
- match self {
- tw::events::Event::Deleted { user_id, twete_id } => {
- if let Some(handle) = tweeter.retrieve_user(&user_id).map(|x| &x.handle) {
- if let Some(_tweet) = tweeter.retrieve_tweet(&twete_id) {
- println!("-------------DELETED------------------");
- render_twete(&twete_id, tweeter);
- println!("-------------DELETED------------------");
- } else {
- println!("dunno what, but do know who: {} - {}", user_id, handle);
- }
- } else {
- println!("delete...");
- println!("dunno who...");
- }
- },
- tw::events::Event::RT_RT { user_id, twete_id } => {
- println!("---------------------------------");
- let user = tweeter.retrieve_user(&user_id).unwrap();
- println!(" +rt_rt : {} (@{})", user.name, user.handle);
- render_twete(&twete_id, tweeter);
- },
- tw::events::Event::Fav_RT { user_id, twete_id } => {
- println!("---------------------------------");
- let user = tweeter.retrieve_user(&user_id).unwrap();
- println!(" +rt_fav : {} (@{})", user.name, user.handle);
- render_twete(&twete_id, tweeter);
- },
- tw::events::Event::Fav { user_id, twete_id } => {
- println!("---------------------------------");
- let user = tweeter.retrieve_user(&user_id).unwrap();
- println!("{} +fav : {} (@{}){}", color::Fg(color::Yellow), user.name, user.handle, color::Fg(color::Reset));
- render_twete(&twete_id, tweeter);
- },
- tw::events::Event::Unfav { user_id, twete_id } => {
- println!("---------------------------------");
- let user = tweeter.retrieve_user(&user_id).unwrap();
- println!("{} -fav : {} (@{}){}", color::Fg(color::Yellow), user.name, user.handle, color::Fg(color::Reset));
- render_twete(&twete_id, tweeter);
- },
- tw::events::Event::Followed { user_id } => {
- println!("---------------------------------");
- let user = tweeter.retrieve_user(&user_id).unwrap();
- println!(" +fl : {} (@{})", user.name, user.handle);
- },
- tw::events::Event::Unfollowed { user_id } => {
- println!("---------------------------------");
- let user = tweeter.retrieve_user(&user_id).unwrap();
- println!(" -fl : {} (@{})", user.name, user.handle);
- }
- /*
- Blocked(user_id) => {
- },
- */
- }
- println!("");
- }
-}
-
-pub fn render_twete(twete_id: &String, tweeter: &tw::TwitterCache) {
- let id_color = color::Fg(color::Rgb(180, 80, 40));
- let twete = tweeter.retrieve_tweet(twete_id).unwrap();
- // if we got the tweet, the API gave us the user too
- let user = tweeter.retrieve_user(&twete.author_id).unwrap();
- match twete.rt_tweet {
- Some(ref rt_id) => {
- // same for a retweet
- let rt = tweeter.retrieve_tweet(rt_id).unwrap();
- // and its author
- let rt_author = tweeter.retrieve_user(&rt.author_id).unwrap();
- println!("{} id:{} (rt_id:{}){}",
- id_color, rt.internal_id, twete.internal_id, color::Fg(color::Reset)
- );
- println!(" {}{}{} ({}@{}{}) via {}{}{} ({}@{}{}) RT:",
- color_for(&rt_author.handle), rt_author.name, color::Fg(color::Reset),
- color_for(&rt_author.handle), rt_author.handle, color::Fg(color::Reset),
- color_for(&user.handle), user.name, color::Fg(color::Reset),
- color_for(&user.handle), user.handle, color::Fg(color::Reset)
- );
- }
- None => {
- println!("{} id:{}{}",
- id_color, twete.internal_id, color::Fg(color::Reset)
- );
- println!(" {}{}{} ({}@{}{})",
- color_for(&user.handle), user.name, color::Fg(color::Reset),
- color_for(&user.handle), user.handle, color::Fg(color::Reset)
- );
- }
- }
-
- println!(" {}", twete.text.replace("\r", "\\r").split("\n").collect::<Vec<&str>>().join("\n "));
-
- if let Some(ref qt_id) = twete.quoted_tweet_id {
- if let Some(ref qt) = tweeter.retrieve_tweet(qt_id) {
- let qt_author = tweeter.retrieve_user(&qt.author_id).unwrap();
- println!("{} id:{}{}",
- id_color, qt.internal_id, color::Fg(color::Reset)
- );
- println!(
- " {}{}{} ({}@{}{})",
- color_for(&qt_author.handle), qt_author.name, color::Fg(color::Reset),
- color_for(&qt_author.handle), qt_author.handle, color::Fg(color::Reset)
- );
- println!(
- " {}",
- qt.text.replace("\r", "\\r").split("\n").collect::<Vec<&str>>().join("\n ")
- );
- } else {
- println!(" << don't have quoted tweet! >>");
- }
- }
-}