4 个版本

使用旧的 Rust 2015

0.2.2 2019 年 8 月 7 日
0.2.1 2019 年 8 月 2 日
0.2.0 2017 年 3 月 5 日
0.1.0 2017 年 3 月 5 日

#2222解析器实现

48 每月下载量
4 crates 中使用

MIT 许可证

16KB
143

pls-rs TravisCI 构建状态 AppVeyorCI 构建状态 许可证

Rust crate 用于解析和写入 PLS 播放列表格式

文档


lib.rs:

PLS 播放列表格式的解析器和写入器。

示例

读取 PLS

assert_eq!(pls::parse(&mut &b"[playlist]\n\
                              File1=Track 1.mp3\n\
                              Title1=Unknown Artist - Track 1\n\
                              \n\
                              File2=Track 2.mp3\n\
                              Length2=420\n\
                              \n\
                              File3=Track 3.mp3\n\
                              Length3=-1\n\
                              \n\
                              NumberOfEntries=3\n"[..]).unwrap(),
           vec![PlaylistElement {
               path: "Track 1.mp3".to_string(),
               title: Some("Unknown Artist - Track 1".to_string()),
               len: ElementLength::Unknown,
           },
           PlaylistElement {
               path: "Track 2.mp3".to_string(),
               title: None,
               len: ElementLength::Seconds(420),
           },
           PlaylistElement {
               path: "Track 3.mp3".to_string(),
               title: None,
               len: ElementLength::Unknown,
           }]);

写入 PLS

let mut buf = Vec::new();
pls::write(&[PlaylistElement {
               path: "Track 1.mp3".to_string(),
               title: Some("Unknown Artist - Track 1".to_string()),
               len: ElementLength::Unknown,
           },
           PlaylistElement {
               path: "Track 2.mp3".to_string(),
               title: None,
               len: ElementLength::Seconds(420),
           },
           PlaylistElement {
               path: "Track 3.mp3".to_string(),
               title: None,
               len: ElementLength::Unknown,
           }],
           &mut buf).unwrap();
assert_eq!(String::from_utf8(buf).unwrap(),
           "[playlist]\n\
            File1=Track 1.mp3\n\
            Title1=Unknown Artist - Track 1\n\
            \n\
            File2=Track 2.mp3\n\
            Length2=420\n\
            \n\
            File3=Track 3.mp3\n\
            \n\
            NumberOfEntries=3\n\
            Version=2\n")

依赖关系

~87KB