foscam-directory 0.0.4 → 0.0.5
raw patch · 3 files changed
+13/−10 lines, 3 files
Files
- changelog +4/−0
- foscam-directory.cabal +1/−1
- src/Data/Foscam/Directory.hs +8/−9
changelog view
@@ -14,3 +14,7 @@ * Add `filenames` function. +0.0.5++* Fix `getFoscamDirectoryContents` to include directory.+
foscam-directory.cabal view
@@ -1,5 +1,5 @@ name: foscam-directory-version: 0.0.4+version: 0.0.5 license: BSD3 license-file: LICENSE author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>
src/Data/Foscam/Directory.hs view
@@ -6,7 +6,7 @@ , filenames ) where -import Control.Category((.), id)+import Control.Category(id) import Data.ByteString.UTF8 as UTF8(fromString) import Data.Eq(Eq) import Data.Foscam.File.Filename(Filename, filename)@@ -21,23 +21,22 @@ data FoscamDirectoryFile = Isn't FilePath- | Is Filename+ | Is FilePath Filename deriving (Eq, Ord, Show) getFoscamDirectoryContents :: FilePath -> IO [FoscamDirectoryFile] getFoscamDirectoryContents p =- let fromResult (Success n) =- Is n- fromResult (Failure _) =- Isn't p- in fmap (fromResult . parseString filename (Directed (UTF8.fromString p) 0 0 0 0)) <$> getDirectoryContents p+ (fmap (\f -> + case parseString filename (Directed (UTF8.fromString p) 0 0 0 0) f of+ Success n -> Is p n+ Failure _ -> Isn't f)) <$> getDirectoryContents p filenames :: [FoscamDirectoryFile]- -> [Filename]+ -> [(FilePath, Filename)] filenames = foldr (\f -> case f of Isn't _ -> id- Is n -> (n:)) []+ Is p n -> ((p,n):)) []