-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | download bugs mailboxes
--   
--   See readme at <a>https://gitlab.com/iu-guest/mbug</a>
@package mbug
@version 1.3

module Data.Maybe.Extended

-- | Convert <a>Maybe</a> value into arbitrary <a>Alternative</a> instance,
--   mapping Nothing into <a>empty</a>.
maybeToAlternative :: (Alternative f) => Maybe a -> f a

module MBug.Cache

-- | Perform IO action labeled with some <a>Text</a> value, if no actions
--   with same label were executed for last 15 minutes; return path to
--   file, containing cached value and value itself.
cachedIO :: Text -> IO ByteString -> IO (FilePath, ByteString)

-- | Same as <a>cachedIO</a>, but ignore information about cache file.
cachedIO_ :: Text -> IO ByteString -> IO ByteString

module MBug.Data.Bug

-- | Brief information about bug, that is extracted from request page
data Bug
Bug :: Int -> Text -> Text -> Text -> Bug

-- | bug number.
[_number] :: Bug -> Int

-- | bug severity (FIXME: should be enumeration)
[_severity] :: Bug -> Text

-- | package to which bug assigned to
[_package] :: Bug -> Text

-- | bug subject
[_subject] :: Bug -> Text
instance GHC.Show.Show MBug.Data.Bug.Bug

module MBug.Data.FolderMH
data FolderMH
Absolute :: Text -> FolderMH
Relative :: Text -> FolderMH

-- | Parse <a>FolderMH</a> value from String. That string must begin with
--   either <tt>+</tt> character (absolute folder) or <tt>@</tt> (relative
--   folder) for parsing to succeed.
--   
--   <a>String</a> datatype is used, since it is part of
--   <a>Options.Applicative</a> module API.
readFolderMH :: String -> Maybe FolderMH

-- | Convert <a>FolderMH</a> value into String. The output is formatted
--   like programs from mh(7) suite would expect, and does not look like
--   automatically generated <a>Show</a> instance.
--   
--   <a>String</a> datatype is used, since it is part of
--   <a>Options.Applicative</a> module API.
showFolderMH :: FolderMH -> String

module MBug.MH

-- | Thin wrapper around mhpath(1) to get filepath to directory,
--   corresponding to MH folder.
resolve :: FolderMH -> IO FilePath

module MBug.Options

-- | Parse <a>Options</a> datatype from command line.
options :: IO Options

-- | This datatype represent contains all information, that control
--   operation of program: what information to input, how to process it,
--   where to output it.
data Options
Options :: FolderMH -> Text -> Options

-- | MH folder to store bug emails.
[_folder] :: Options -> FolderMH

-- | Query to Debian bug system. Something that can be meaningfully placed
--   after <tt><a>https://bugs.debian.org/</a></tt> url is expected here.
[_query] :: Options -> Text

-- | Convert <a>FolderMH</a> value into String. The output is formatted
--   like programs from mh(7) suite would expect, and does not look like
--   automatically generated <a>Show</a> instance.
--   
--   <a>String</a> datatype is used, since it is part of
--   <a>Options.Applicative</a> module API.
showFolderMH :: FolderMH -> String

module Text.HTML.Scalpel.Core.Extended

-- | Skip chroots at index, not satisfying predicate
guardPos :: (Ord a, StringLike a) => (Int -> Bool) -> Scraper a ()

module MBug.Scrape
parseBugs :: ByteString -> Maybe [Bug]

module MBug.Main
main :: IO ()
