-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A library for crawling exhentai
--
-- A library for crawling exhentai, with the support of streaming
@package exh
@version 0.2.0
module Web.Exhentai.Errors
data ExhentaiError
JSONParseFailure :: String -> ExhentaiError
XMLParseFailure :: Text -> Text -> ExhentaiError
[$sel:reason:JSONParseFailure] :: ExhentaiError -> Text
[$sel:url:JSONParseFailure] :: ExhentaiError -> Text
ExtractionFailure :: String -> ExhentaiError
instance GHC.Exception.Type.Exception Web.Exhentai.Errors.ExhentaiError
instance GHC.Generics.Generic Web.Exhentai.Errors.ExhentaiError
instance GHC.Classes.Eq Web.Exhentai.Errors.ExhentaiError
instance GHC.Show.Show Web.Exhentai.Errors.ExhentaiError
module Web.Exhentai.Types
type Parser = Parsec Void Text
data GalleryCat
Misc :: GalleryCat
Doujinshi :: GalleryCat
Manga :: GalleryCat
ArtistCG :: GalleryCat
GameCG :: GalleryCat
ImageSet :: GalleryCat
Cosplay :: GalleryCat
AsianPorn :: GalleryCat
NonH :: GalleryCat
Western :: GalleryCat
Private :: GalleryCat
allGalleryCats :: Set GalleryCat
toBitField :: Set GalleryCat -> Int
showCat :: GalleryCat -> Text
readCat :: Text -> Maybe GalleryCat
_GalleryCat :: Prism' Text GalleryCat
newtype PopUpLink
PopUpLink :: Text -> PopUpLink
[$sel:unLink:PopUpLink] :: PopUpLink -> Text
_PopUpLink :: Prism' Text PopUpLink
parsePopUpLink :: Text -> Maybe PopUpLink
newtype AverageRating
AverageRating :: Float -> AverageRating
[$sel:unRating:AverageRating] :: AverageRating -> Float
_AverageRating :: Prism' Text AverageRating
parseAverageRating :: Text -> Maybe AverageRating
newtype GalleryLength
GalleryLength :: Int -> GalleryLength
[$sel:unGalleryLength:GalleryLength] :: GalleryLength -> Int
_GalleryLength :: Prism' Text GalleryLength
parseGalleryLength :: Text -> Maybe GalleryLength
newtype FavoriteCount
FavoriteCount :: Int -> FavoriteCount
[$sel:unFavoriteCount:FavoriteCount] :: FavoriteCount -> Int
parseFavoriteCount :: Text -> Maybe FavoriteCount
data Gallery
Gallery :: {-# UNPACK #-} !Int -> {-# UNPACK #-} !Text -> Gallery
[$sel:galleryId:Gallery] :: Gallery -> {-# UNPACK #-} !Int
[$sel:token:Gallery] :: Gallery -> {-# UNPACK #-} !Text
_GalleryLink :: Prism' Text Gallery
toGalleryLink :: Gallery -> Text
toMpvLink :: Gallery -> Text
parseGalleryLink :: Text -> Maybe Gallery
parsePreviewLink :: Text -> Maybe Text
instance GHC.Enum.Bounded Web.Exhentai.Types.GalleryCat
instance GHC.Enum.Enum Web.Exhentai.Types.GalleryCat
instance GHC.Classes.Ord Web.Exhentai.Types.GalleryCat
instance GHC.Classes.Eq Web.Exhentai.Types.GalleryCat
instance GHC.Show.Show Web.Exhentai.Types.GalleryCat
instance GHC.Classes.Eq Web.Exhentai.Types.PopUpLink
instance GHC.Show.Show Web.Exhentai.Types.PopUpLink
instance GHC.Classes.Eq Web.Exhentai.Types.AverageRating
instance GHC.Show.Show Web.Exhentai.Types.AverageRating
instance GHC.Classes.Eq Web.Exhentai.Types.GalleryLength
instance GHC.Show.Show Web.Exhentai.Types.GalleryLength
instance GHC.Classes.Eq Web.Exhentai.Types.FavoriteCount
instance GHC.Show.Show Web.Exhentai.Types.FavoriteCount
instance GHC.Generics.Generic Web.Exhentai.Types.Gallery
instance GHC.Classes.Eq Web.Exhentai.Types.Gallery
instance GHC.Show.Show Web.Exhentai.Types.Gallery
module Web.Exhentai.Types.CookieT
newtype Policy
Policy :: RetryPolicy -> Policy
class (Monad m, MonadCatch m, MonadThrow m) => MonadHttp m
getRetryPolicy :: MonadHttp m => m Policy
formRequest :: MonadHttp m => String -> m Request
attachFormData :: MonadHttp m => [Part] -> Request -> m Request
respOpen :: (MonadHttp m, MonadIO n) => Request -> m (Response (ConduitT i ByteString n ()))
respClose :: MonadHttp m => Response body -> m ()
reqNoBody :: MonadHttp m => Request -> m (Response ())
class (MonadMask m, MonadTime m, MonadHttp m, MonadIO m) => MonadHttpState m
takeCookieJar :: MonadHttpState m => m CookieJar
readCookieJar :: MonadHttpState m => m CookieJar
putCookieJar :: MonadHttpState m => CookieJar -> m ()
modifyingJar :: MonadHttpState m => Request -> m ()
openWithJar :: (MonadHttpState m, MonadIO n) => Request -> m (Response (ConduitT i ByteString n ()))
withJar :: (MonadHttpState m, MonadIO n) => Request -> (ConduitT i ByteString n () -> m a) -> m a
data CookieEnv
CookieEnv :: Policy -> MVar CookieJar -> {-# UNPACK #-} !Manager -> CookieEnv
[$sel:policy:CookieEnv] :: CookieEnv -> Policy
[$sel:jarRef:CookieEnv] :: CookieEnv -> MVar CookieJar
[$sel:manager:CookieEnv] :: CookieEnv -> {-# UNPACK #-} !Manager
newtype CookieT m a
CookieT :: ReaderT CookieEnv m a -> CookieT m a
[$sel:unCookieT:CookieT] :: CookieT m a -> ReaderT CookieEnv m a
runCookieT :: MonadIO m => RetryPolicy -> CookieT m a -> m a
retryWhenTimeout :: MonadHttpState m => m a -> m a
instance GHC.Generics.Generic Web.Exhentai.Types.CookieT.CookieEnv
instance Control.Monad.Time.MonadTime m => Control.Monad.Time.MonadTime (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.IO.Unlift.MonadUnliftIO m => Control.Monad.IO.Unlift.MonadUnliftIO (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Web.Exhentai.Types.CookieT.CookieT m)
instance GHC.Base.Monad m => Control.Monad.Reader.Class.MonadReader Web.Exhentai.Types.CookieT.CookieEnv (Web.Exhentai.Types.CookieT.CookieT m)
instance GHC.Base.Monad m => GHC.Base.Monad (Web.Exhentai.Types.CookieT.CookieT m)
instance GHC.Base.Applicative m => GHC.Base.Applicative (Web.Exhentai.Types.CookieT.CookieT m)
instance GHC.Base.Functor m => GHC.Base.Functor (Web.Exhentai.Types.CookieT.CookieT m)
instance Control.Monad.Trans.Class.MonadTrans Web.Exhentai.Types.CookieT.CookieT
instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Unlift.MonadUnliftIO m, Control.Monad.Catch.MonadCatch m, Control.Monad.Catch.MonadThrow m) => Web.Exhentai.Types.CookieT.MonadHttp (Web.Exhentai.Types.CookieT.CookieT m)
instance (Control.Monad.Catch.MonadMask m, Control.Monad.IO.Unlift.MonadUnliftIO m, Control.Monad.Time.MonadTime m) => Web.Exhentai.Types.CookieT.MonadHttpState (Web.Exhentai.Types.CookieT.CookieT m)
instance Network.HTTP.Client.Types.HasHttpManager Web.Exhentai.Types.CookieT.CookieEnv
instance (Web.Exhentai.Types.CookieT.MonadHttpState m, Control.Monad.Trans.Class.MonadTrans f, Control.Monad.Catch.MonadMask (f m), Control.Monad.Time.MonadTime (f m), Web.Exhentai.Types.CookieT.MonadHttp (f m), Control.Monad.IO.Class.MonadIO (f m)) => Web.Exhentai.Types.CookieT.MonadHttpState (f m)
instance (Web.Exhentai.Types.CookieT.MonadHttp m, Control.Monad.Trans.Class.MonadTrans f, GHC.Base.Monad (f m), Control.Monad.Catch.MonadCatch (f m), Control.Monad.Catch.MonadThrow (f m)) => Web.Exhentai.Types.CookieT.MonadHttp (f m)
module Web.Exhentai.API.Auth
data Credential
Credential :: ByteString -> ByteString -> Credential
[$sel:username:Credential] :: Credential -> ByteString
[$sel:password:Credential] :: Credential -> ByteString
-- | Authenticates and loads user preferences. This should be called before
-- any other functions are called
auth :: MonadHttpState m => Credential -> m ()
instance GHC.Generics.Generic Web.Exhentai.API.Auth.Credential
instance GHC.Classes.Eq Web.Exhentai.API.Auth.Credential
instance GHC.Show.Show Web.Exhentai.API.Auth.Credential
module Web.Exhentai.Utils
attributeSatisfies' :: Name -> (Maybe Text -> Bool) -> Traversal' Element Element
withoutAttribute :: Name -> Traversal' Element Element
lower :: Traversal' Element Node
body :: Traversal' Document Element
div :: Traversal' Element Element
h1 :: Traversal' Element Element
a :: Traversal' Element Element
table :: Traversal' Element Element
tr :: Traversal' Element Element
td :: Traversal' Element Element
img :: Traversal' Element Element
cl :: Text -> Traversal' Element Element
id :: Text -> Traversal' Element Element
viaShowRead :: (Show a, Read a) => Prism' Text a
scripts :: Traversal' Element Element
(^?:) :: Document -> Fold Element a -> Maybe a
infixl 8 ^?:
(^..:) :: Document -> Fold Element a -> [a]
infixl 8 ^..:
sinkAeson :: (FromJSON a, Monad m) => ConduitT ByteString o m (Either String a)
jsonRequest :: (FromJSON a, MonadHttpState m) => Request -> m (Either String a)
htmlRequest :: MonadHttpState m => Request -> m Document
htmlRequest' :: MonadHttpState m => Text -> m Document
parseUploadTime :: Text -> Maybe UTCTime
annotate :: ann -> Maybe a -> Either ann a
module Web.Exhentai.Parsing.Search
pages :: Traversal' Element Int
pagesElem :: Traversal' Element Element
linkOf :: Traversal' Element Text
galleryPreviewElement :: Traversal' Element Element
previewImage :: Traversal' Element Text
title :: Traversal' Element Text
galleryLink :: Traversal' Element Gallery
galleryLength :: Traversal' Element GalleryLength
module Web.Exhentai.Parsing.MPV
allScripts :: Traversal' Document Text
data MpvImage
MpvImage :: {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> MpvImage
[$sel:name:MpvImage] :: MpvImage -> {-# UNPACK #-}Text
[$sel:key:MpvImage] :: MpvImage -> {-# UNPACK #-}Text
[$sel:thumbnail:MpvImage] :: MpvImage -> {-# UNPACK #-}Text
-- | All the variables defined in the scripts that came with the MPV
data Vars
Vars :: {-# UNPACK #-}Int -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Int -> [MpvImage] -> Vars
[$sel:gid:Vars] :: Vars -> {-# UNPACK #-}Int
[$sel:mpvkey:Vars] :: Vars -> {-# UNPACK #-}Text
[$sel:apiUrl:Vars] :: Vars -> {-# UNPACK #-}Text
[$sel:pageCount:Vars] :: Vars -> {-# UNPACK #-}Int
[$sel:imageList:Vars] :: Vars -> [MpvImage]
extractEnv :: Text -> IO (Result Vars)
instance GHC.Generics.Generic Web.Exhentai.Parsing.MPV.MpvImage
instance GHC.Classes.Eq Web.Exhentai.Parsing.MPV.MpvImage
instance GHC.Show.Show Web.Exhentai.Parsing.MPV.MpvImage
instance GHC.Generics.Generic Web.Exhentai.Parsing.MPV.Vars
instance GHC.Classes.Eq Web.Exhentai.Parsing.MPV.Vars
instance GHC.Show.Show Web.Exhentai.Parsing.MPV.Vars
instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.Parsing.MPV.MpvImage
module Web.Exhentai.Parsing.Image
imageSrc :: Traversal' Element Text
nextPage :: Traversal' Element Text
module Web.Exhentai.Parsing.Gallery
data TagCategory
Language :: TagCategory
Parody :: TagCategory
Character :: TagCategory
Group :: TagCategory
Artist :: TagCategory
Male :: TagCategory
Female :: TagCategory
Misc :: TagCategory
Reclass :: TagCategory
readTagCat :: Text -> Maybe TagCategory
_TagCategory :: Prism' Text TagCategory
meta :: Traversal' Element Element
title :: Traversal' Element Element
enTitle :: Traversal' Element Text
jaTitle :: Traversal' Element Text
mainMeta :: Traversal' Element Element
mainMetaL :: Traversal' Element Element
mainMetaM :: Traversal' Element Element
mainMetaR :: Traversal' Element Element
previewStr :: Traversal' Element Text
category :: Traversal' Element GalleryCat
uploader :: Traversal' Element Text
metaPath :: Traversal' Element Element
metaKeys :: Traversal' Element Text
metaValues :: Traversal' Element Element
parent :: Traversal' Element Gallery
ratingCount :: Traversal' Element Int
averageRating :: Traversal' Element AverageRating
tagList :: Traversal' Element Element
tagCategory :: Traversal' Element TagCategory
tagsByCategory :: Traversal' Element Element
tags :: Traversal' Element Text
popupLink :: Traversal' Element PopUpLink
imagePages :: Traversal' Element Text
newer :: Traversal' Element Gallery
instance GHC.Generics.Generic Web.Exhentai.Parsing.Gallery.TagCategory
instance GHC.Enum.Enum Web.Exhentai.Parsing.Gallery.TagCategory
instance GHC.Classes.Eq Web.Exhentai.Parsing.Gallery.TagCategory
instance GHC.Show.Show Web.Exhentai.Parsing.Gallery.TagCategory
module Web.Exhentai.API.Watched
-- | Fetch the list of watched galleries
fetchWatched :: MonadHttpState m => m [Gallery]
-- | Fetch the list of popular galleries
fetchPopular :: MonadHttpState m => m [Gallery]
module Web.Exhentai.API.Search
data SearchQuery
SearchQuery :: Maybe (Set GalleryCat) -> {-# UNPACK #-}Text -> SearchQuery
[$sel:categories:SearchQuery] :: SearchQuery -> Maybe (Set GalleryCat)
[$sel:searchString:SearchQuery] :: SearchQuery -> {-# UNPACK #-}Text
data SearchResult
SearchResult :: [Gallery] -> Maybe Text -> Maybe Text -> SearchResult
[$sel:galleries:SearchResult] :: SearchResult -> [Gallery]
[$sel:prevPage:SearchResult] :: SearchResult -> Maybe Text
[$sel:nextPage:SearchResult] :: SearchResult -> Maybe Text
-- | Search a search query
search :: MonadHttpState m => SearchQuery -> m SearchResult
-- | Iterate through all the Galleries asosciated with a search query,
-- putting them into a stream
searchRecur :: MonadHttpState m => SearchQuery -> ConduitT i Gallery m ()
-- | A resumable version of searchRecur that reports it's progress.
searchRecurResumable :: MonadHttpState m => SearchQuery -> ConduitT i (Either Text Gallery) m ()
searchRecurResumable' :: MonadHttpState m => Text -> ConduitT i (Either Text Gallery) m ()
-- | Fetch a search page using its url
fetchSearchPage :: MonadHttpState m => Text -> m SearchResult
-- | Fetch a search page using a Request
fetchSearchPage' :: MonadHttpState m => Request -> m SearchResult
instance GHC.Generics.Generic Web.Exhentai.API.Search.SearchQuery
instance GHC.Classes.Eq Web.Exhentai.API.Search.SearchQuery
instance GHC.Show.Show Web.Exhentai.API.Search.SearchQuery
instance GHC.Generics.Generic Web.Exhentai.API.Search.SearchResult
instance GHC.Classes.Eq Web.Exhentai.API.Search.SearchResult
instance GHC.Show.Show Web.Exhentai.API.Search.SearchResult
module Web.Exhentai.API.MPV
data DispatchRequest
DispatchRequest :: Int -> Int -> Text -> Text -> Maybe Server -> DispatchRequest
[$sel:galleryId:DispatchRequest] :: DispatchRequest -> Int
[$sel:page:DispatchRequest] :: DispatchRequest -> Int
[$sel:imgKey:DispatchRequest] :: DispatchRequest -> Text
[$sel:mpvKey:DispatchRequest] :: DispatchRequest -> Text
[$sel:exclude:DispatchRequest] :: DispatchRequest -> Maybe Server
data DispatchResult
DispatchResult :: Text -> Text -> Text -> Text -> Dim -> Dim -> Text -> Server -> DispatchResult
-- | A piece of text describing the dimensions and the size of this image
[$sel:dimension:DispatchResult] :: DispatchResult -> Text
-- | The path part of the url pointing to the original image
[$sel:origImgPath:DispatchResult] :: DispatchResult -> Text
-- | The path part of the url that searches for the gallery containing this
-- image
[$sel:searchPath:DispatchResult] :: DispatchResult -> Text
-- | The path part of the non-mpv page that displays this image
[$sel:galleryPath:DispatchResult] :: DispatchResult -> Text
[$sel:width:DispatchResult] :: DispatchResult -> Dim
[$sel:height:DispatchResult] :: DispatchResult -> Dim
-- | The full url to this image
[$sel:imgLink:DispatchResult] :: DispatchResult -> Text
-- | The server that serves this image
[$sel:server:DispatchResult] :: DispatchResult -> Server
-- | All the variables defined in the scripts that came with the MPV
data Vars
Vars :: {-# UNPACK #-}Int -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Int -> [MpvImage] -> Vars
[$sel:gid:Vars] :: Vars -> {-# UNPACK #-}Int
[$sel:mpvkey:Vars] :: Vars -> {-# UNPACK #-}Text
[$sel:apiUrl:Vars] :: Vars -> {-# UNPACK #-}Text
[$sel:pageCount:Vars] :: Vars -> {-# UNPACK #-}Int
[$sel:imageList:Vars] :: Vars -> [MpvImage]
data Server
HAtH :: Int -> Server
Other :: Text -> Server
newtype Dim
Dim :: Int -> Dim
-- | Fetch the Vars from a Gallery's mpv page
fetchMpv :: (MonadHttpState m, MonadIO m) => Gallery -> m Vars
-- | Generate a list of requests from a Vars
toRequests :: Vars -> [DispatchRequest]
-- | Calls the API to dispatch a image request to a H@H server
imageDispatch :: MonadHttpState m => DispatchRequest -> m DispatchResult
-- | Fetch an image with a DispatchRequest
fetchImage :: (MonadHttpState m, MonadIO n) => DispatchRequest -> ContT r m (Response (ConduitT i ByteString n ()))
-- | Like fetchImage, but the user is responsible of closing the
-- response
fetchImage' :: (MonadHttpState m, MonadIO n) => DispatchRequest -> m (Response (ConduitT i ByteString n ()))
instance GHC.Generics.Generic Web.Exhentai.API.MPV.Server
instance GHC.Classes.Eq Web.Exhentai.API.MPV.Server
instance GHC.Show.Show Web.Exhentai.API.MPV.Server
instance GHC.Classes.Eq Web.Exhentai.API.MPV.Dim
instance GHC.Show.Show Web.Exhentai.API.MPV.Dim
instance GHC.Generics.Generic Web.Exhentai.API.MPV.DispatchResult
instance GHC.Classes.Eq Web.Exhentai.API.MPV.DispatchResult
instance GHC.Show.Show Web.Exhentai.API.MPV.DispatchResult
instance GHC.Generics.Generic Web.Exhentai.API.MPV.DispatchRequest
instance GHC.Classes.Eq Web.Exhentai.API.MPV.DispatchRequest
instance GHC.Show.Show Web.Exhentai.API.MPV.DispatchRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Exhentai.API.MPV.DispatchRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.API.MPV.DispatchResult
instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.API.MPV.Dim
instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.API.MPV.Server
instance Data.Aeson.Types.ToJSON.ToJSON Web.Exhentai.API.MPV.Server
module Web.Exhentai.API.Gallery
-- | Information about a gallery
data GalleryInfo
GalleryInfo :: {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> GalleryCat -> Maybe Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Float -> {-# UNPACK #-}Int -> {-# UNPACK #-}Int -> [(TagCategory, [Text])] -> {-# UNPACK #-}UTCTime -> Maybe Gallery -> Maybe Gallery -> Visibility -> {-# UNPACK #-}Text -> {-# UNPACK #-}Int -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> GalleryInfo
[$sel:title:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text
[$sel:previewLink:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text
[$sel:category:GalleryInfo] :: GalleryInfo -> GalleryCat
[$sel:jaTitle:GalleryInfo] :: GalleryInfo -> Maybe Text
[$sel:uploader:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text
[$sel:rating:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Float
[$sel:ratingCount:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Int
[$sel:favoriteCount:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Int
[$sel:tags:GalleryInfo] :: GalleryInfo -> [(TagCategory, [Text])]
[$sel:uploadTime:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}UTCTime
[$sel:newer:GalleryInfo] :: GalleryInfo -> Maybe Gallery
[$sel:parent:GalleryInfo] :: GalleryInfo -> Maybe Gallery
[$sel:visibility:GalleryInfo] :: GalleryInfo -> Visibility
[$sel:language:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text
[$sel:length:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Int
[$sel:archiverLink:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text
[$sel:torrentLink:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text
data Visibility
Visible :: Visibility
Replaced :: Visibility
Expunged :: Visibility
Unknown :: {-# UNPACK #-}Text -> Visibility
-- | Fetch a gallery's GalleryInfo
fetchGalleryInfo :: MonadHttpState m => Gallery -> m GalleryInfo
-- | Extract all gallery informations from a document
parseGallery :: Document -> Either Text GalleryInfo
instance GHC.Generics.Generic Web.Exhentai.API.Gallery.Visibility
instance GHC.Classes.Eq Web.Exhentai.API.Gallery.Visibility
instance GHC.Show.Show Web.Exhentai.API.Gallery.Visibility
instance GHC.Generics.Generic Web.Exhentai.API.Gallery.GalleryInfo
instance GHC.Classes.Eq Web.Exhentai.API.Gallery.GalleryInfo
instance GHC.Show.Show Web.Exhentai.API.Gallery.GalleryInfo
module Web.Exhentai.API.Archiver
-- | Download an origian archive from an archiver url as a stream
streamOriginal :: (MonadHttpState m, MonadIO n) => Text -> ContT r m (Response (ConduitT i ByteString n ()))
-- | Download an resampled archive from an archiver url as a stream
streamResampled :: (MonadHttpState m, MonadIO n) => Text -> ContT r m (Response (ConduitT i ByteString n ()))
module Web.Exhentai