packages feed

plist 0.0.5 → 0.0.6

raw patch · 3 files changed

+14/−8 lines, 3 filesdep +base64-bytestringdep +bytestringdep −dataencPVP ok

version bump matches the API change (PVP)

Dependencies added: base64-bytestring, bytestring

Dependencies removed: dataenc

API changes (from Hackage documentation)

Files

plist.cabal view
@@ -1,5 +1,5 @@ name:                    plist-version:                 0.0.5+version:                 0.0.6 license:                 BSD3 license-file:            LICENSE author:                  Yuras Shumovich <shumovichy@gmail.com>,@@ -28,7 +28,8 @@ library   hs-source-dirs:        src   build-depends:         base >= 4.3 && < 5,-                         dataenc -any,+                         base64-bytestring >= 1.0,+                         bytestring >= 0.10,                          hxt >= 9 && < 10   exposed-modules:       Text.XML.Plist                          Text.XML.Plist.PlObject
src/Text/XML/Plist/Read.hs view
@@ -30,7 +30,9 @@ import Control.Arrow.ArrowTree import Text.XML.HXT.DOM.TypeDefs import Control.Arrow.ArrowIf-import Codec.Binary.Base64+import Data.ByteString.Char8 (pack)+import Data.ByteString (unpack)+import Data.ByteString.Base64 import Data.Maybe  -- | Read 'PlObject' from file.@@ -67,12 +69,14 @@   , hasName "dict" :-> (readDict >>> arr PlDict)   , hasName "data" :-> (     innerText >>>-    arr (decode . unchop . lines) >>>+    arr (decode' . foldr (++) "" . lines) >>>     isA isJust >>>     arr fromJust >>>     arr PlData     )   , hasName "date" :-> (innerText >>> arr PlDate) ]+  where+    decode' = either (const Nothing) Just . fmap unpack . decode . pack  readDict :: ArrowXml a => a XmlTree [(String, PlObject)] readDict = listA $ readDict' $< listA (getChildren >>> isElem)
src/Text/XML/Plist/Write.hs view
@@ -11,7 +11,7 @@ -- | Generating property list format -- ------------------------------------------------------------------------------+{-# LANGUAGE OverloadedStrings #-} module Text.XML.Plist.Write (  writePlistToFile,@@ -23,15 +23,16 @@  import Text.XML.Plist.PlObject import Text.XML.HXT.Arrow.XmlState-import Codec.Binary.Base64 import Control.Monad (void, liftM)- import Control.Arrow.IOStateListArrow import Text.XML.HXT.Arrow.WriteDocument import Text.XML.HXT.Arrow.XmlArrow import Control.Arrow import Control.Arrow.ArrowList import Text.XML.HXT.DOM.TypeDefs+import Data.ByteString.Base64 (encode, joinWith)+import Data.ByteString (pack)+import Data.ByteString.Char8 (unpack)  -- | Write 'PlObject' to file writePlistToFile :: String -> PlObject -> IO ()@@ -70,5 +71,5 @@   elems = concatMap toXml objects   toXml (key, val) = [selem "key" [txt key], objectToXml val] objectToXml (PlData dat) = selem "data" [txt $ enc dat] where-  enc = (++ "\n") . foldr ((++) . ("\n" ++)) "" . chop 20 . encode+  enc = unpack . joinWith "\n" 20 . encode . pack objectToXml (PlDate date) = selem "date" [txt date]