imm-1.6.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 #

get :: Monad m => Handle m -> Handle m -> URI -> m LByteString Source #

Simple wrapper around httpGet 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 FeedRef Source #

Feed reference: either its URI, or its UID from database

Constructors

ByUID Int 
ByURI URI 
Instances
Eq FeedRef Source # 
Instance details

Defined in Imm.Feed

Methods

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

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

Ord FeedRef Source # 
Instance details

Defined in Imm.Feed

Show FeedRef Source # 
Instance details

Defined in Imm.Feed

Pretty FeedRef Source # 
Instance details

Defined in Imm.Feed

Methods

pretty :: FeedRef -> Doc ann #

prettyList :: [FeedRef] -> Doc ann #

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

data DatabaseException t Source #

Constructors

NotCommitted t 
NotDeleted t [Key t] 
NotFound t [Key t] 
NotInserted t [(Key t, Entry t)] 
NotPurged t 
NotUpdated t (Key t) 
UnableFetchAll t 
Instances
(Eq t, Eq (Key t), Eq (Entry t)) => Eq (DatabaseException t) Source # 
Instance details

Defined in Imm.Database

(Show t, Show (Key t), Show (Entry t)) => Show (DatabaseException t) Source # 
Instance details

Defined in Imm.Database

(Table t, Show (Key t), Show (Entry t), Pretty (Key t), Typeable t) => Exception (DatabaseException t) Source # 
Instance details

Defined in Imm.Database

(Pretty t, Pretty (Key t)) => Pretty (DatabaseException t) Source # 
Instance details

Defined in Imm.Database

Methods

pretty :: DatabaseException t -> Doc ann #

prettyList :: [DatabaseException t] -> Doc ann #

_fetchList :: Handle m t -> [Key t] -> m (Map (Key t) (Entry t)) Source #

_fetchAll :: Handle m t -> m (Map (Key t) (Entry t)) Source #

_update :: Handle m t -> Key t -> (Entry t -> Entry t) -> m () Source #

_insertList :: Handle m t -> [(Key t, Entry t)] -> m () Source #

_deleteList :: Handle m t -> [Key t] -> m () Source #

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

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

class (Ord (Key t), Show (Key t), Show (Entry t), Typeable t, Show t, Pretty t, Pretty (Key t)) => Table t where Source #

Generic database table

Associated Types

type Key t :: * Source #

type Entry t :: * Source #

Methods

rep :: t Source #

Instances
Table FeedTable Source # 
Instance details

Defined in Imm.Database.FeedTable

Associated Types

type Key FeedTable :: Type Source #

type Entry FeedTable :: Type Source #

Methods

rep :: FeedTable Source #

readOnly :: Monad m => Pretty (Key t) => Handle m -> Handle m t -> Handle m t Source #

fetch :: Monad m => Table t => MonadThrow m => Handle m t -> Key t -> m (Entry t) Source #

fetchList :: Monad m => Handle m t -> [Key t] -> m (Map (Key t) (Entry t)) Source #

fetchAll :: Monad m => Handle m t -> m (Map (Key t) (Entry t)) Source #

update :: Monad m => Handle m t -> Key t -> (Entry t -> Entry t) -> m () Source #

insert :: Monad m => Handle m -> Handle m t -> Key t -> Entry t -> m () Source #

insertList :: Monad m => Handle m -> Handle m t -> [(Key t, Entry t)] -> m () Source #

delete :: Monad m => Handle m -> Handle m t -> Key t -> m () Source #

deleteList :: Monad m => Handle m -> Handle m t -> [Key t] -> m () Source #

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

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

table :: Table t => Handle m t -> t 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 #

ToJSON Message Source # 
Instance details

Defined in Imm.Callback

FromJSON 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 #

Interpret 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.6.0.0-AI8t4wjrAX18Aalm5NPGfe" False) (C1 (MetaCons "Callback" PrefixI True) (S1 (MetaSel (Just "_executable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath) :*: S1 (MetaSel (Just "_arguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text])))