imm-1.9.0.0: Execute arbitrary callbacks for each element of RSS/Atom feeds

Safe HaskellNone
LanguageHaskell2010

Imm

Description

Meta-module that reexports many Imm sub-modules.

Synopsis

Documentation

data LogLevel Source #

Constructors

Debug 
Info 
Warning 
Error 
Instances
Eq LogLevel Source # 
Instance details

Defined in Imm.Logger

Ord LogLevel Source # 
Instance details

Defined in Imm.Logger

Read LogLevel Source # 
Instance details

Defined in Imm.Logger

Show LogLevel Source # 
Instance details

Defined in Imm.Logger

Pretty LogLevel Source # 
Instance details

Defined in Imm.Logger

Methods

pretty :: LogLevel -> Doc ann #

prettyList :: [LogLevel] -> Doc ann #

log :: Handle m -> LogLevel -> Doc AnsiStyle -> m () Source #

flushLogs :: Handle m -> m () Source #

_withGet :: Handle m -> forall a. URI -> (Producer' ByteString m () -> m a) -> m a Source #

withGet :: Monad m => Handle m -> Handle m -> URI -> (Producer' ByteString m () -> m a) -> m a Source #

Simple wrapper around _withGet that also logs the requested URI.

data FeedURI Source #

Constructors

FeedURI (URIRef a) 
Instances
Eq FeedURI Source # 
Instance details

Defined in Imm.Feed

Methods

(==) :: FeedURI -> FeedURI -> Bool #

(/=) :: FeedURI -> FeedURI -> Bool #

Ord FeedURI Source # 
Instance details

Defined in Imm.Feed

Show FeedURI Source # 
Instance details

Defined in Imm.Feed

data Feed Source #

Instances
Eq Feed Source # 
Instance details

Defined in Imm.Feed

Methods

(==) :: Feed -> Feed -> Bool #

(/=) :: Feed -> Feed -> Bool #

Ord Feed Source # 
Instance details

Defined in Imm.Feed

Methods

compare :: Feed -> Feed -> Ordering #

(<) :: Feed -> Feed -> Bool #

(<=) :: Feed -> Feed -> Bool #

(>) :: Feed -> Feed -> Bool #

(>=) :: Feed -> Feed -> Bool #

max :: Feed -> Feed -> Feed #

min :: Feed -> Feed -> Feed #

Show Feed Source # 
Instance details

Defined in Imm.Feed

Methods

showsPrec :: Int -> Feed -> ShowS #

show :: Feed -> String #

showList :: [Feed] -> ShowS #

data FeedQuery Source #

A query describes a set of feeds through some criteria.

Instances
Eq FeedQuery Source # 
Instance details

Defined in Imm.Feed

Ord FeedQuery Source # 
Instance details

Defined in Imm.Feed

Show FeedQuery Source # 
Instance details

Defined in Imm.Feed

Pretty FeedQuery Source # 
Instance details

Defined in Imm.Feed

Methods

pretty :: FeedQuery -> Doc ann #

prettyList :: [FeedQuery] -> Doc ann #

data FeedLocation Source #

Feed location identifies a feed. It is either: - the feed URI - a webpage URI that refers to the feed through an alternate link, in which case an optional feed title can be provided to disambiguate multiple such links

withFeedURI :: (forall a. URIRef a -> b) -> FeedURI -> b Source #

data Message Source #

All information passed to external programs about a new feed item, are stored in this structure.

Constructors

Message Feed FeedElement 
Instances
Eq Message Source # 
Instance details

Defined in Imm.Callback

Methods

(==) :: Message -> Message -> Bool #

(/=) :: Message -> Message -> Bool #

Ord Message Source # 
Instance details

Defined in Imm.Callback

Show Message Source # 
Instance details

Defined in Imm.Callback

Generic Message Source # 
Instance details

Defined in Imm.Callback

Associated Types

type Rep Message :: Type -> Type #

Methods

from :: Message -> Rep Message x #

to :: Rep Message x -> Message #

MessagePack Message Source # 
Instance details

Defined in Imm.Callback

type Rep Message Source # 
Instance details

Defined in Imm.Callback

data Callback Source #

External program run for each feed element.

A Message is passed to this program through stdin, serialized in JSON.

Constructors

Callback 
Instances
Eq Callback Source # 
Instance details

Defined in Imm.Callback

Ord Callback Source # 
Instance details

Defined in Imm.Callback

Read Callback Source # 
Instance details

Defined in Imm.Callback

Show Callback Source # 
Instance details

Defined in Imm.Callback

Generic Callback Source # 
Instance details

Defined in Imm.Callback

Associated Types

type Rep Callback :: Type -> Type #

Methods

from :: Callback -> Rep Callback x #

to :: Rep Callback x -> Callback #

FromDhall Callback Source # 
Instance details

Defined in Imm.Callback

Pretty Callback Source # 
Instance details

Defined in Imm.Callback

Methods

pretty :: Callback -> Doc ann #

prettyList :: [Callback] -> Doc ann #

type Rep Callback Source # 
Instance details

Defined in Imm.Callback

type Rep Callback = D1 (MetaData "Callback" "Imm.Callback" "imm-1.9.0.0-L4OvFhB9TDf8pWR6V9zgfv" False) (C1 (MetaCons "Callback" PrefixI True) (S1 (MetaSel (Just "_executable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath) :*: S1 (MetaSel (Just "_arguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text])))

_update :: Handle m -> [EntryKey] -> (Entry -> Entry) -> m () Source #

_delete :: Handle m -> [EntryKey] -> m () Source #

_purge :: Handle m -> m () Source #

_commit :: Handle m -> m () Source #

data EntryKey Source #

Instances
Eq EntryKey Source # 
Instance details

Defined in Imm.Database.Feed

Ord EntryKey Source # 
Instance details

Defined in Imm.Database.Feed

Show EntryKey Source # 
Instance details

Defined in Imm.Database.Feed

Pretty EntryKey Source # 
Instance details

Defined in Imm.Database.Feed

Methods

pretty :: EntryKey -> Doc ann #

prettyList :: [EntryKey] -> Doc ann #

data FeedStatus Source #

Constructors

Unknown 
New 
LastUpdate UTCTime 
Instances
Pretty FeedStatus Source # 
Instance details

Defined in Imm.Database.Feed

Methods

pretty :: FeedStatus -> Doc ann #

prettyList :: [FeedStatus] -> Doc ann #

data Entry Source #

Instances
Eq Entry Source # 
Instance details

Defined in Imm.Database.Feed

Methods

(==) :: Entry -> Entry -> Bool #

(/=) :: Entry -> Entry -> Bool #

Ord Entry Source # 
Instance details

Defined in Imm.Database.Feed

Methods

compare :: Entry -> Entry -> Ordering #

(<) :: Entry -> Entry -> Bool #

(<=) :: Entry -> Entry -> Bool #

(>) :: Entry -> Entry -> Bool #

(>=) :: Entry -> Entry -> Bool #

max :: Entry -> Entry -> Entry #

min :: Entry -> Entry -> Entry #

Show Entry Source # 
Instance details

Defined in Imm.Database.Feed

Methods

showsPrec :: Int -> Entry -> ShowS #

show :: Entry -> String #

showList :: [Entry] -> ShowS #

ToJSON Entry Source # 
Instance details

Defined in Imm.Database.Feed

FromJSON Entry Source # 
Instance details

Defined in Imm.Database.Feed

newtype JsonElement Source #

Newtype wrapper to provide FromJSON and ToJSON instances for FeedElement

Constructors

JsonElement 

readOnly :: Monad m => Handle m -> Handle m -> Handle m Source #

fetch1 :: Monad m => MonadThrow m => Handle m -> EntryKey -> m (Int, Entry) Source #

fetch :: Monad m => Handle m -> [EntryKey] -> m (Map EntryKey (Int, Entry)) Source #

fetchQuery :: Monad m => Handle m -> (Int -> Entry -> Bool) -> m (Map Int Entry) Source #

update :: Monad m => Handle m -> [EntryKey] -> (Entry -> Entry) -> m () Source #

insert :: MonadThrow m => Handle m -> Handle m -> Entry -> m Int Source #

delete1 :: Monad m => Handle m -> Handle m -> EntryKey -> m () Source #

delete :: Monad m => Handle m -> Handle m -> [EntryKey] -> m () Source #

purge :: Monad m => Handle m -> Handle m -> m () Source #

commit :: Monad m => Handle m -> Handle m -> m () Source #