packages feed

fromhtml 0.1.0.5 → 1.0.0

raw patch · 3 files changed

+18/−28 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Text.FromHTML: fromHTML :: ExportType -> String -> Maybe ByteString
+ Text.FromHTML: fromHTML :: ExportType -> String -> Either Output Output

Files

app/Main.hs view
@@ -1,9 +1,10 @@ module Main where -import Prelude hiding (writeFile)-import Data.ByteString (writeFile)-import System.Environment-import System.Exit+import           Prelude+import qualified Data.ByteString as B+import qualified Data.ByteString.Char8 as C+import           System.Environment+import           System.Exit  import Text.FromHTML @@ -15,7 +16,8 @@   let format = (read $ args !! 2) :: ExportType   html <- readFile infile   case fromHTML format html of-    Just bs -> writeFile outfile bs-    Nothing -> do-      putStrLn "Couldn't transform that document..."+    Right res -> B.writeFile outfile res+    Left err -> do+      putStrLn "Couldn't transform that document:"+      C.putStrLn err       exitFailure
fromhtml.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 0a14bae31346767a06cfe578265426e650a10e6e25d1edea4fb998ba5b361f8d+-- hash: 08d57d6634624b09295e2c27ebf5c576c61f1089eeb2f6fcf95493311e3faa01  name:           fromhtml-version:        0.1.0.5+version:        1.0.0 synopsis:       Simple adapter for transformation of HTML to other formats description:    Please see the README on GitHub at <https://github.com/MarekSuchanek/FromHTML#readme> category:       Text
src/Text/FromHTML.hs view
@@ -45,31 +45,19 @@                 | PDF                 deriving (Show, Read, Enum, Bounded, Eq) ---- | Helper function to translate Either to Maybe-eitherToMaybe :: Show a => Either a b -> Maybe b-eitherToMaybe (Right x) = Just x-eitherToMaybe _ = Nothing--str2BS :: String -> B.ByteString-str2BS = E.encodeUtf8 . T.pack---- | Transform given HTML as String to selected format-fromHTML :: ExportType -> String -> Maybe B.ByteString-fromHTML HTML html = Just . str2BS $ html  -- HTML is already provided!-fromHTML PDF html = handleMaker $ makePDF html-fromHTML extp html = handleMaker $ makePD extp html-- type Input = String type Output = B.ByteString type Command = Input -> IO (Either Output Output) type Process = IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) +str2BS :: String -> B.ByteString+str2BS = E.encodeUtf8 . T.pack -handleMaker :: Either Output Output -> Maybe B.ByteString-handleMaker (Right x) = Just x-handleMaker _ = Nothing+-- | Transform given HTML as String to selected format+fromHTML :: ExportType -> String -> Either Output Output+fromHTML HTML html = Right . str2BS $ html  -- HTML is already provided!+fromHTML PDF html = makePDF html+fromHTML extp html = makePD extp html  makePDF :: Input -> Either Output Output makePDF html = unsafePerformIO $ wkhtmltopdf html