packages feed

ihaskell-magic 0.2.0.0 → 0.3.0.0

raw patch · 2 files changed

+32/−29 lines, 2 filesdep −classy-preludedep ~base

Dependencies removed: classy-prelude

Dependency ranges changed: base

Files

IHaskell/Display/Magic.hs view
@@ -1,31 +1,32 @@ {-# LANGUAGE ViewPatterns, TypeSynonymInstances, FlexibleInstances #-}+ module IHaskell.Display.Magic () where -import IHaskell.Display-import Magic+import           IHaskell.Display+import           Magic import qualified Data.ByteString as B import qualified Data.ByteString.Unsafe as B import qualified Data.ByteString.Base64 as Base64 import qualified Data.ByteString.Char8 as Char import qualified Data.ByteString.UTF8 as B -import Text.Read-import Data.Char+import           Text.Read+import           Data.Char  import qualified Data.Text as T import qualified Data.Text.Encoding as T-import IHaskell.IPython.Types (MimeType(MimeSvg))-import Data.ByteString.UTF8+import           IHaskell.IPython.Types (MimeType(MimeSvg))+import           Data.ByteString.UTF8  instance IHaskellDisplay T.Text where-    display = display . T.encodeUtf8+  display = display . T.encodeUtf8  instance IHaskellDisplay B.ByteString where-    display x = do-        m <- magicOpen []-        magicLoadDefault m-        f <- B.unsafeUseAsCStringLen x (magicCString m)-        return $ Display [withClass (parseMagic f) x]+  display x = do+    m <- magicOpen []+    magicLoadDefault m+    f <- B.unsafeUseAsCStringLen x (magicCString m)+    return $ Display [withClass (parseMagic f) x]  b64 :: B.ByteString -> String b64 = Char.unpack . Base64.encode@@ -34,7 +35,7 @@ withClass SVG = DisplayData MimeSvg . T.decodeUtf8 withClass (PNG w h) = png w h . T.decodeUtf8 . Base64.encode withClass JPG = jpg 400 300 . T.decodeUtf8 . Base64.encode-withClass HTML = html . B.toString +withClass HTML = html . B.toString withClass LaTeX = latex . B.toString withClass _ = plain . B.toString @@ -54,17 +55,20 @@  -} parseMagic :: String -> MagicClass-parseMagic f = case words f of-    "SVG" : _ -> SVG-    "PNG" : _image : _data :-        (readMaybe -> Just w) : _x :-        (readMaybe . takeWhile isDigit -> Just h) : _ -> PNG w h-    "LaTeX" : _ -> LaTeX-    "HTML" : _ -> HTML-    "JPEG" : _ -> JPG-    _ -> Unknown-+parseMagic f =+  case words f of+    "SVG":_                                                                                 -> SVG+    "PNG":_image:_data:(readMaybe -> Just w):_x:(readMaybe . takeWhile isDigit -> Just h):_ -> PNG w+                                                                                                 h+    "LaTeX":_                                                                               -> LaTeX+    "HTML":_                                                                                -> HTML+    "JPEG":_                                                                                -> JPG+    _                                                                                       -> Unknown -data MagicClass =-    SVG | PNG Int Int | JPG | HTML | LaTeX | Unknown-    deriving Show+data MagicClass = SVG+                | PNG Int Int+                | JPG+                | HTML+                | LaTeX+                | Unknown+  deriving Show
ihaskell-magic.cabal view
@@ -10,7 +10,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.2.0.0+version:             0.3.0.0  -- A short (one-line) description of the package. synopsis:            IHaskell display instances for bytestrings@@ -61,8 +61,7 @@               OverloadedStrings                 -- Other library packages from which modules are imported.-  build-depends:       base ==4.6.* || ==4.7.*,-                       classy-prelude >=0.6,+  build-depends:       base >=4.6 && <4.9,                        magic >= 1.0.8,                        text,                        bytestring,