packages feed

imm 1.0.0.0 → 1.0.1.0

raw patch · 5 files changed

+53/−49 lines, 5 filesdep ~chunked-datadep ~mono-traversable

Dependency ranges changed: chunked-data, mono-traversable

Files

imm.cabal view
@@ -1,7 +1,7 @@ name:                imm-version:             1.0.0.0+version:             1.0.1.0 synopsis:            Execute arbitrary actions for each unread element of RSS/Atom feeds---description:+description:         Cf README file homepage:            https://github.com/k0ral/imm license:             OtherLicense license-file:        LICENSE@@ -39,7 +39,7 @@     Imm.Options     Imm.Pretty     Paths_imm-  build-depends: aeson, atom-conduit, base == 4.*, bytestring, case-insensitive, chunked-data, comonad, compdata, conduit, conduit-combinators, conduit-parse, connection, containers, directory, dyre, directory, exceptions, fast-logger, filepath, free, hashable, HaskellNet, HaskellNet-SSL >= 0.3.3.0, http-client, http-client-tls, http-types, mime-mail, monoid-subclasses, mono-traversable, network, opml-conduit, optparse-applicative, rainbow, rainbox, rss-conduit, text, transformers, time, timerep >= 2.0.0.0, tls, uri-bytestring, xml, xml-conduit, ansi-wl-pprint+  build-depends: aeson, atom-conduit, base == 4.*, bytestring, case-insensitive, chunked-data >= 0.3.0, comonad, compdata, conduit, conduit-combinators, conduit-parse, connection, containers, directory >= 1.2.3.0, dyre, exceptions, fast-logger, filepath, free, hashable, HaskellNet, HaskellNet-SSL >= 0.3.3.0, http-client, http-client-tls, http-types, mime-mail, monoid-subclasses, mono-traversable >= 1.0.0, network, opml-conduit, optparse-applicative, rainbow, rainbox, rss-conduit, text, transformers, time, timerep >= 2.0.0.0, tls, uri-bytestring, xml, xml-conduit, ansi-wl-pprint   -- Build-tools:   hs-source-dirs: src/lib   ghc-options: -Wall -fno-warn-unused-do-bind
src/bin/Executable.hs view
@@ -5,8 +5,6 @@ -- {{{ Imports import           Imm import           Imm.Database.JsonFile-import           Imm.Feed-import           Imm.Hooks import           Imm.HTTP.Simple import           Imm.Logger.Simple import           Imm.Prelude
src/lib/Imm/Core.hs view
@@ -74,7 +74,7 @@          => [FeedID] -> m () showFeed feedIDs = do   feeds <- Database.fetchList FeedTable feedIDs-  if onull feeds then logWarning "No subscription" else putBox $ entryTableToBox feeds+  if null feeds then logWarning "No subscription" else putBox $ entryTableToBox feeds  -- | Register the given feed URI in database subscribe :: (MonadIO m, LoggerF :<: f, Functor f, MonadFree f m, DatabaseF' :<: f, MonadCatch m)@@ -134,7 +134,7 @@ isRead :: (Functor f, MonadCatch m, DatabaseF' :<: f, MonadFree f m) => FeedID -> FeedElement -> m Bool isRead feedID element = do   DatabaseEntry _ _ readHashes lastCheck <- Database.fetch FeedTable feedID-  let matchHash = not $ onull $ (setFromList (getHashes element) :: Set Int) `intersection` readHashes+  let matchHash = not $ null $ (setFromList (getHashes element) :: Set Int) `intersection` readHashes       matchDate = case (lastCheck, getDate element) of         (Nothing, _) -> False         (_, Nothing) -> False@@ -157,7 +157,7 @@ -- * Boxes  putBox :: (Orientation a, MonadIO m) => Box a -> m ()-putBox = void . io . mapM ByteString.putStr . chunksToByteStrings toByteStringsColors256 . otoList . render+putBox = io . mapM_ ByteString.putStr . chunksToByteStrings toByteStringsColors256 . toList . render  cell :: Text -> Cell cell a = Cell (singleton $ singleton $ chunk a) top left mempty
src/lib/Imm/Prelude.hs view
@@ -13,55 +13,61 @@ module Imm.Prelude (module Imm.Prelude, module X) where  -- {{{ Imports-import           Control.Applicative          as X+import           Control.Applicative             as X import           Control.Comonad import           Control.Comonad.Cofree-import           Control.Monad                as X hiding (filterM, replicateM)-import           Control.Monad.Catch          as X-import           Control.Monad.IO.Class       as X-import           Control.Monad.Trans.Free     (FreeF (..), FreeT (..))+import           Control.Monad                   as X (MonadPlus (..), unless,+                                                       void, when)+import           Control.Monad.Catch             as X+import           Control.Monad.IO.Class          as X+import           Control.Monad.Trans.Free        (FreeF (..), FreeT (..)) -import           Data.Bifunctor               as X-import qualified Data.ByteString              as B (ByteString ())-import qualified Data.ByteString.Lazy         as LB (ByteString ())-import           Data.Comp.Ops                as X-import           Data.Containers              as X+import           Data.Bifunctor                  as X+import qualified Data.ByteString                 as B (ByteString ())+import qualified Data.ByteString.Lazy            as LB (ByteString ())+import           Data.Comp.Ops                   as X+import           Data.Containers                 as X+import           Data.Foldable                   as X (forM_) import           Data.Functor.Identity-import           Data.IOData                  as X-import           Data.Map                     as X (Map)-import           Data.Maybe                   as X hiding (catMaybes)-import           Data.Monoid                  as X-import           Data.Monoid.Textual          as X (TextualMonoid (), fromText)-import           Data.MonoTraversable         as X-import           Data.Ord                     as X--- import           Data.Semigroup               as X hiding (option)-import           Data.Sequences               as X-import           Data.Sequences.Lazy          as X-import           Data.String                  as X (IsString (..))-import qualified Data.Text                    as T (Text ())-import qualified Data.Text.Lazy               as LT (Text ())-import           Data.Textual.Encoding        as X-import           Data.Typeable                as X+import           Data.IOData                     as X+import           Data.Map                        as X (Map)+import           Data.Maybe                      as X hiding (catMaybes)+import           Data.Monoid                     as X+import           Data.Monoid.Textual             as X (TextualMonoid (),+                                                       fromText)+import           Data.MonoTraversable.Unprefixed as X hiding (forM_, mapM_)+import           Data.Ord                        as X+import           Data.Sequences                  as X+import           Data.String                     as X (IsString (..))+import qualified Data.Text                       as T (Text ())+import qualified Data.Text.Lazy                  as LT (Text ())+import           Data.Traversable                as X (forM)+import           Data.Typeable                   as X -import qualified GHC.Show                     as Show+import qualified GHC.Show                        as Show -import           Prelude                      as X hiding (break, drop,-                                                    dropWhile, elem, filter,-                                                    getLine, lines, log, lookup,-                                                    notElem, readFile,-                                                    replicate, reverse, show,-                                                    span, splitAt, take,-                                                    takeWhile, unlines, unwords,-                                                    words, writeFile)+import           Prelude                         as X hiding (all, and, any,+                                                       break, concat, concatMap,+                                                       drop, dropWhile, elem,+                                                       filter, foldMap, foldr,+                                                       getLine, length, lines,+                                                       log, lookup, notElem,+                                                       null, or, product,+                                                       readFile, replicate,+                                                       reverse, sequence_, show,+                                                       span, splitAt, sum, take,+                                                       takeWhile, unlines,+                                                       unwords, words,+                                                       writeFile) -import           System.IO                    as X (stderr, stdout)+import           System.IO                       as X (stderr, stdout) -import           Text.PrettyPrint.ANSI.Leijen as X (Doc, Pretty (..), angles,-                                                    brackets, equals, hsep,-                                                    indent, space, text, vsep,-                                                    (<+>))+import           Text.PrettyPrint.ANSI.Leijen    as X (Doc, Pretty (..), angles,+                                                       brackets, equals, hsep,+                                                       indent, space, text,+                                                       vsep, (<+>)) -import           Text.PrettyPrint.ANSI.Leijen (line)+import           Text.PrettyPrint.ANSI.Leijen    (line) -- }}}  -- * Free monad utilities
src/lib/Imm/Pretty.hs view
@@ -55,7 +55,7 @@  prettyPerson :: AtomPerson -> Doc prettyPerson p = text (fromText $ toNullable $ personName p) <> email where-  email = if onull $ personEmail p+  email = if null $ personEmail p     then mempty     else space <> angles (text $ fromText $ personEmail p)