#org #query #information #read #past #cddb #freedb

gnudb

用于从gnudb.org获取CDDB信息(类似于过去的cddb.com和freedb.org)的Crate。

7个版本

0.2.2 2022年5月21日
0.2.1 2022年5月21日
0.1.4 2022年5月20日

#500 in 认证

MITLGPL-3.0-or-later

19KB
426 代码行

用于从gnudb.org获取CDDB信息(类似于过去的cddb.com和freedb.org)的Crate。

它使用discid crate从CDROM/DVDROM驱动器查询discid。

目前仅实现了登录、查询和读取,并且仅在CDDBP(而非HTTP)上实现。

代码现在是完全异步的。

使用方法

// get a disc id by querying the disc in the default CD/DVD ROM drive
let discid = DiscId::read(Some(DiscId::default_device().as_str())).unwrap();
// open a connection
let mut con = Connection::new().await.unwrap();
// find a list of matches (could be multiple)
let matches: Vec<Match> = con.query(&discid).await.unwrap();
// select the right match
let ref m: Match = matches[2];
// read all the metadata
let _disc = con.read(&m).await.unwrap();
// close the connection (Drop trait is implemented, so not strictly necessary)
con.close();

lib.rs:

用于从gnudb.org获取CDDB信息(类似于过去的cddb.com和freedb.org)的Crate。

目前仅实现了登录、查询和读取,并且仅在CDDBP(而非HTTP)上实现。所有I/O现在都是异步的。

依赖项

~6–20MB
~257K SLoC