mirror of
https://github.com/Serial-ATA/lofty-rs
synced 2025-01-07 09:48:45 +00:00
Rename VorbisComments::{get_item, insert_item}
to VorbisComments::{get, insert}
This commit is contained in:
parent
6cfc10d3fe
commit
afd1a6d8ef
2 changed files with 23 additions and 24 deletions
|
@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- **MP4**: Renamed `AdvisoryRating::None` to `AdvisoryRating::Inoffensive`
|
- **MP4**: Renamed `AdvisoryRating::None` to `AdvisoryRating::Inoffensive`
|
||||||
- Renamed `TaggedFile::remove_tag` to `TaggedFile::take`
|
- Renamed `TaggedFile::remove_tag` to `TaggedFile::take`
|
||||||
- **Vorbis Comments**: `VorbisComments::insert_picture` now accepts a user provided `PictureInformation`
|
- **Vorbis Comments**: `VorbisComments::insert_picture` now accepts a user provided `PictureInformation`
|
||||||
|
- **Vorbis Comments**: Rename `VorbisComments::{get_item, insert_item}` to `VorbisComments::{get, insert}`
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- **MP4**: Non-full `meta` atoms are now properly handled.
|
- **MP4**: Non-full `meta` atoms are now properly handled.
|
||||||
|
|
|
@ -18,11 +18,11 @@ macro_rules! impl_accessor {
|
||||||
impl Accessor for VorbisComments {
|
impl Accessor for VorbisComments {
|
||||||
$(
|
$(
|
||||||
fn $name(&self) -> Option<&str> {
|
fn $name(&self) -> Option<&str> {
|
||||||
self.get_item($key)
|
self.get($key)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn [<set_ $name>](&mut self, value: String) {
|
fn [<set_ $name>](&mut self, value: String) {
|
||||||
self.insert_item(String::from($key), value, true)
|
self.insert(String::from($key), value, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn [<remove_ $name>](&mut self) {
|
fn [<remove_ $name>](&mut self) {
|
||||||
|
@ -71,7 +71,7 @@ impl VorbisComments {
|
||||||
/// Gets an item by key
|
/// Gets an item by key
|
||||||
///
|
///
|
||||||
/// NOTE: This is case-sensitive
|
/// NOTE: This is case-sensitive
|
||||||
pub fn get_item(&self, key: &str) -> Option<&str> {
|
pub fn get(&self, key: &str) -> Option<&str> {
|
||||||
self.items
|
self.items
|
||||||
.iter()
|
.iter()
|
||||||
.find(|(k, _)| k == key)
|
.find(|(k, _)| k == key)
|
||||||
|
@ -81,7 +81,7 @@ impl VorbisComments {
|
||||||
/// Inserts an item
|
/// Inserts an item
|
||||||
///
|
///
|
||||||
/// If `replace_all` is true, it will remove all items with the key before insertion
|
/// If `replace_all` is true, it will remove all items with the key before insertion
|
||||||
pub fn insert_item(&mut self, key: String, value: String, replace_all: bool) {
|
pub fn insert(&mut self, key: String, value: String, replace_all: bool) {
|
||||||
if replace_all {
|
if replace_all {
|
||||||
self.items
|
self.items
|
||||||
.iter()
|
.iter()
|
||||||
|
@ -115,15 +115,13 @@ impl VorbisComments {
|
||||||
picture: Picture,
|
picture: Picture,
|
||||||
information: Option<PictureInformation>,
|
information: Option<PictureInformation>,
|
||||||
) -> Result<Option<(Picture, PictureInformation)>> {
|
) -> Result<Option<(Picture, PictureInformation)>> {
|
||||||
let ret = if picture.pic_type == PictureType::Icon
|
let ret = match picture.pic_type {
|
||||||
|| picture.pic_type == PictureType::OtherIcon
|
PictureType::Icon | PictureType::OtherIcon => self
|
||||||
{
|
.pictures
|
||||||
self.pictures
|
|
||||||
.iter()
|
.iter()
|
||||||
.position(|(p, _)| p.pic_type == picture.pic_type)
|
.position(|(p, _)| p.pic_type == picture.pic_type)
|
||||||
.map(|pos| self.pictures.remove(pos))
|
.map(|pos| self.pictures.remove(pos)),
|
||||||
} else {
|
_ => None,
|
||||||
None
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let info = match information {
|
let info = match information {
|
||||||
|
@ -364,13 +362,13 @@ mod tests {
|
||||||
|
|
||||||
expected_tag.set_vendor(String::from("Lavf58.76.100"));
|
expected_tag.set_vendor(String::from("Lavf58.76.100"));
|
||||||
|
|
||||||
expected_tag.insert_item(String::from("ALBUM"), String::from("Baz album"), false);
|
expected_tag.insert(String::from("ALBUM"), String::from("Baz album"), false);
|
||||||
expected_tag.insert_item(String::from("ARTIST"), String::from("Bar artist"), false);
|
expected_tag.insert(String::from("ARTIST"), String::from("Bar artist"), false);
|
||||||
expected_tag.insert_item(String::from("COMMENT"), String::from("Qux comment"), false);
|
expected_tag.insert(String::from("COMMENT"), String::from("Qux comment"), false);
|
||||||
expected_tag.insert_item(String::from("DATE"), String::from("1984"), false);
|
expected_tag.insert(String::from("DATE"), String::from("1984"), false);
|
||||||
expected_tag.insert_item(String::from("GENRE"), String::from("Classical"), false);
|
expected_tag.insert(String::from("GENRE"), String::from("Classical"), false);
|
||||||
expected_tag.insert_item(String::from("TITLE"), String::from("Foo title"), false);
|
expected_tag.insert(String::from("TITLE"), String::from("Foo title"), false);
|
||||||
expected_tag.insert_item(String::from("TRACKNUMBER"), String::from("1"), false);
|
expected_tag.insert(String::from("TRACKNUMBER"), String::from("1"), false);
|
||||||
|
|
||||||
let file_cont = crate::tag::utils::test_utils::read_path("tests/tags/assets/test.vorbis");
|
let file_cont = crate::tag::utils::test_utils::read_path("tests/tags/assets/test.vorbis");
|
||||||
let parsed_tag = read_tag(&*file_cont);
|
let parsed_tag = read_tag(&*file_cont);
|
||||||
|
@ -418,11 +416,11 @@ mod tests {
|
||||||
|
|
||||||
let vorbis_comments: VorbisComments = tag.into();
|
let vorbis_comments: VorbisComments = tag.into();
|
||||||
|
|
||||||
assert_eq!(vorbis_comments.get_item("TITLE"), Some("Foo title"));
|
assert_eq!(vorbis_comments.get("TITLE"), Some("Foo title"));
|
||||||
assert_eq!(vorbis_comments.get_item("ARTIST"), Some("Bar artist"));
|
assert_eq!(vorbis_comments.get("ARTIST"), Some("Bar artist"));
|
||||||
assert_eq!(vorbis_comments.get_item("ALBUM"), Some("Baz album"));
|
assert_eq!(vorbis_comments.get("ALBUM"), Some("Baz album"));
|
||||||
assert_eq!(vorbis_comments.get_item("COMMENT"), Some("Qux comment"));
|
assert_eq!(vorbis_comments.get("COMMENT"), Some("Qux comment"));
|
||||||
assert_eq!(vorbis_comments.get_item("TRACKNUMBER"), Some("1"));
|
assert_eq!(vorbis_comments.get("TRACKNUMBER"), Some("1"));
|
||||||
assert_eq!(vorbis_comments.get_item("GENRE"), Some("Classical"));
|
assert_eq!(vorbis_comments.get("GENRE"), Some("Classical"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue