name: playlists version: 0.1.0.0 synopsis: Library and executable for working with playlist files. homepage: https://github.com/pjones/playlists license: BSD3 license-file: LICENSE author: Peter Jones maintainer: Peter Jones copyright: Copyright (c) 2013 Peter Jones category: Text build-type: Simple cabal-version: >=1.8 description: Playlists is a library for working with media playlist files. The original motivation for the library was extracting URLs for streaming radio stations that use PLS and M3U playlist files. . The package also includes an executable that can dump the URLs from a playlist file and convert between playlist file formats. . /Example:/ . > import qualified Data.ByteString as BS > import Text.Playlist > > readPlaylist :: Format -> IO Playlist > readPlaylist fmt = do > content <- BS.getContents > case parsePlaylist fmt content of > Left err -> fail $ "failed to parse playlist on stdin: " ++ err > Right x -> return x . /Playlist Executable Examples:/ . > $ playlist urls --format PLS < somefile.pls > > $ playlist convert --from PLS --to M3U < somefile.pls -------------------------------------------------------------------------------- -- Work around a bug in Cabal < 1.16.0.3. flag profiling description: Build with executable profiling enabled default: False -------------------------------------------------------------------------------- source-repository head type: git location: https://github.com/pjones/playlists.git -------------------------------------------------------------------------------- library exposed-modules: Text.Playlist other-modules: Text.Playlist.Types Text.Playlist.M3U.Reader Text.Playlist.M3U.Writer Text.Playlist.PLS.Reader Text.Playlist.PLS.Writer Text.Playlist.Internal.Attoparsec hs-source-dirs: src ghc-options: -Wall ghc-prof-options: -fprof-auto-top extensions: OverloadedStrings build-depends: base >= 4.6 && < 5 , attoparsec >= 0.10 && < 0.11 , bytestring >= 0.10 && < 0.11 , text >= 0.11 && < 0.12 , word8 >= 0.0 && < 0.1 -------------------------------------------------------------------------------- executable playlist main-is: playlist.hs ghc-options: -Wall -rtsopts ghc-prof-options: -fprof-auto-top -fprof-cafs extensions: OverloadedStrings -- Work around a bug in Cabal < 1.16.0.3 -- if flag(profiling) -- ghc-options: -prof -fprof-auto-top -fprof-cafs build-depends: base , bytestring , optparse-applicative >= 0.5 && < 0.6 , playlists , text -------------------------------------------------------------------------------- test-suite spec type: exitcode-stdio-1.0 hs-source-dirs: test ghc-options: -Wall extensions: OverloadedStrings main-is: Main.hs build-depends: base , bytestring , hspec >= 1.4.0 && < 1.5 , playlists