packages feed

clit 0.4.0.4 → 0.4.0.5

raw patch · 2 files changed

+21/−6 lines, 2 filesdep ~clit

Dependency ranges changed: clit

Files

clit.cabal view
@@ -1,5 +1,5 @@ name: clit-version: 0.4.0.4+version: 0.4.0.5 cabal-version: >=1.10 build-type: Simple license: BSD3@@ -63,7 +63,7 @@     main-is: Main.hs     build-depends:         base >=4.9.1.0 && <4.10,-        clit >=0.4.0.4 && <0.5+        clit >=0.4.0.5 && <0.5     default-language: Haskell2010     hs-source-dirs: app 
src/Web/Tweet/Utils.hs view
@@ -22,12 +22,12 @@  -- | Display Timeline without color displayTimeline :: Timeline -> String-displayTimeline ((user,content,fave,rts):rest) = (user <> ":\n    " <> content) <> "\n    " <> "♥ " {-- ♡💛--} <> fave <> " ♺ " <> rts <> "\n" <> (displayTimeline rest) -- +displayTimeline ((user,content,fave,rts):rest) = (user <> ":\n    " <> content) <> "\n    " <> "♥ " {-- ♡💛--} <> fave <> " ♺ " <> rts <> "\n\n" <> (displayTimeline rest) --  displayTimeline [] = []  -- | Display Timeline in color displayTimelineColor :: Timeline -> String-displayTimelineColor ((user,content,fave,rts):rest) = ((show . yellow . text $ user) <> ":\n    " <> content) <> "\n    " <> (show . red . text $ "♥ ") {-- ♡💛--} <> fave <> (show . green . text $ " ♺ ") <> rts <> "\n" <> (displayTimelineColor rest) -- +displayTimelineColor ((user,content,fave,rts):rest) = ((show . yellow . text $ user) <> ":\n    " <> content) <> "\n    " <> (show . red . text $ "♥ ") {-- ♡💛--} <> fave <> (show . green . text $ " ♺ ") <> rts <> "\n\n" <> (displayTimelineColor rest) --  displayTimelineColor [] = []  -- | Get a list of tweets from a response, returning author, favorites, retweets, and content. @@ -50,8 +50,10 @@ getData :: Parser (String, String, String, String) getData = do     text <- filterStr "text"-    userMentions <- filterStr "user_mentions"-    name <- if userMentions == "[]" then filterStr "name" else filterStr "name" >> filterStr "name"+    skipMentions+    --userMentions <- filterStr "user_mentions"+    --name <- if userMentions == "[]" then filterStr "name" else filterStr "name" >> filterStr "name" -- FIXME fix this to read number of userMentions+    name <- filterStr "name"     isQuote <- filterStr "is_quote_status"     case isQuote of         "false" -> do@@ -59,9 +61,22 @@             faves <- filterStr "favorite_count"             pure (name, text, faves, rts)         "true" -> do+            skipMentions             rts <- filterStr "retweet_count" >> filterStr "retweet_count"             faves <- filterStr "favorite_count"             pure (name, text, faves, rts)++-- TODO make it work when user names include ]+skipInsideBrackets :: Parser ()+skipInsideBrackets =void (between (char '[') (char ']') $ many (skipInsideBrackets <|> void (noneOf "[]")))++skipMentions :: Parser ()+skipMentions = do+    many $ try $ anyChar >> notFollowedBy (string ("\"user_mentions\":"))+    char ','+    string "\"user_mentions\":"+    skipInsideBrackets --between (char '[') (char ']') (many $ anyChar)+    pure ()  -- | Throw out input until we get to a relevant tag. filterStr :: String -> Parser String