2个不稳定版本
0.2.0 | 2020年5月28日 |
---|---|
0.1.0 | 2020年5月21日 |
#28 in #播放列表
92KB
895 行
mpls
一个电影播放列表文件(MPLS)解析器。使用Rust语言编写,并使用了nom解析器组合库。
双授权,MIT和Apache 2.0。
示例
use std::fs::File;
use std::io::Read;
use mpls::Mpls;
fn main() -> std::io::Result<()> {
// open the playlist file
let mut file = File::open("00800.mpls")?;
// parse the play list
let mpls = Mpls::from(&file).expect("failed to parse MPLS file.");
// extract the play list's angles
let angles = mpls.angles();
// extract the segments
for angle in angles {
let segment_numbers: Vec<i32> = angle
.segments()
.iter()
.map(|s| s.file_name.parse::<i32>().unwrap())
.collect();
println!("angle {}: {:?}", angle, segment_numbers);
}
Ok(())
}
安装
将以下内容添加到您的Cargo.toml
[dependencies]
mpls = "0.2.0"
文档
请参阅crates.io上的参考文档。
依赖
~1MB
~18K SLoC