playlists: Library and executable for working with playlist files.

[ bsd3, library, program, text ] [ Propose Tags ]

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

[Skip to Readme]

Modules

[Index]

Flags

Manual Flags

NameDescriptionDefault
maintainer

Enable settings for the package maintainer.

Disabled
test-hlint

Run the source code through hlint when testing.

Enabled
test-doctest

Run the source code through doctest when testing.

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.4.0.0, 0.4.1.0, 0.5.0.0, 0.5.1
Change log CHANGELOG
Dependencies attoparsec (>=0.10 && <1.0), base (>=4.6 && <5), bytestring (>=0.10 && <1.0), filepath (>=1.3 && <2.0), optparse-applicative (>=0.10.0 && <0.12.0), playlists, text (>=0.11 && <1.3), word8 (>=0.0 && <1.0) [details]
License BSD-3-Clause
Copyright Copyright (c) 2013,2014 Peter Jones
Author Peter Jones <pjones@devalot.com>
Maintainer Peter Jones <pjones@devalot.com>
Category Text
Home page https://github.com/pjones/playlists
Source repo head: git clone https://github.com/pjones/playlists.git
Uploaded by PeterJones at 2015-01-24T21:33:21Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Executables playlist
Downloads 4890 total (21 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-01-24 [all 1 reports]

Readme for playlists-0.3.0.0

[back to package description]

Haskell Playlists Library and Tool

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.

Supported Formats

Future Plans

Some playlist files can be really big. I plan on adding support for incremental parsing and generating via io-streams [] at some point in the future.

Library 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

Executable Example

$ playlist urls --format PLS < somefile.pls

$ playlist convert --from PLS --to M3U < somefile.pls