common/types: case insensitive tags

This commit is contained in:
2025-11-24 17:36:48 +09:00
parent b5fbaadca2
commit 57a6b0a3ee

View File

@@ -79,42 +79,42 @@ pub enum Tag {
impl Tag {
pub fn new(key: String, value: String) -> Tag {
match key.as_str() {
"Artist" => Self::Artist(value),
"ArtistSort" => Self::ArtistSort(value),
"Album" => Self::Album(value),
"AlbumSort" => Self::AlbumSort(value),
"AlbumArtist" => Self::AlbumArtist(value),
"AlbumArtistSort" => Self::AlbumArtistSort(value),
"Title" => Self::Title(value),
"TitleSort" => Self::TitleSort(value),
"Track" => Self::Track(value),
"Name" => Self::Name(value),
"Genre" => Self::Genre(value),
"Mood" => Self::Mood(value),
"Date" => Self::Date(value),
"OriginalDate" => Self::OriginalDate(value),
"Composer" => Self::Composer(value),
"ComposerSort" => Self::ComposerSort(value),
"Performer" => Self::Performer(value),
"Conductor" => Self::Conductor(value),
"Work" => Self::Work(value),
"Ensemble" => Self::Ensemble(value),
"Movement" => Self::Movement(value),
"MovementNumber" => Self::MovementNumber(value),
"ShowMovement" => Self::ShowMovement(value),
"Location" => Self::Location(value),
"Grouping" => Self::Grouping(value),
"Comment" => Self::Comment(value),
"Disc" => Self::Disc(value),
"Label" => Self::Label(value),
"MusicBrainzArtistId" => Self::MusicBrainzArtistId(value),
"MusicBrainzAlbumId" => Self::MusicBrainzAlbumId(value),
"MusicBrainzAlbumArtistId" => Self::MusicBrainzAlbumArtistId(value),
"MusicBrainzTrackId" => Self::MusicBrainzTrackId(value),
"MusicBrainzReleaseGroupId" => Self::MusicBrainzReleaseGroupId(value),
"MusicBrainzReleaseTrackId" => Self::MusicBrainzReleaseTrackId(value),
"MusicBrainzWorkId" => Self::MusicBrainzWorkId(value),
match key.to_lowercase().as_str() {
"artist" => Self::Artist(value),
"artistsort" => Self::ArtistSort(value),
"album" => Self::Album(value),
"albumsort" => Self::AlbumSort(value),
"albumartist" => Self::AlbumArtist(value),
"albumartistsort" => Self::AlbumArtistSort(value),
"title" => Self::Title(value),
"titlesort" => Self::TitleSort(value),
"track" => Self::Track(value),
"name" => Self::Name(value),
"genre" => Self::Genre(value),
"mood" => Self::Mood(value),
"date" => Self::Date(value),
"originaldate" => Self::OriginalDate(value),
"composer" => Self::Composer(value),
"composersort" => Self::ComposerSort(value),
"performer" => Self::Performer(value),
"conductor" => Self::Conductor(value),
"work" => Self::Work(value),
"ensemble" => Self::Ensemble(value),
"movement" => Self::Movement(value),
"movementnumber" => Self::MovementNumber(value),
"showmovement" => Self::ShowMovement(value),
"location" => Self::Location(value),
"grouping" => Self::Grouping(value),
"comment" => Self::Comment(value),
"disc" => Self::Disc(value),
"label" => Self::Label(value),
"musicbrainzartistid" => Self::MusicBrainzArtistId(value),
"musicbrainzalbumid" => Self::MusicBrainzAlbumId(value),
"musicbrainzalbumartistid" => Self::MusicBrainzAlbumArtistId(value),
"musicbrainztrackid" => Self::MusicBrainzTrackId(value),
"musicbrainzreleasegroupid" => Self::MusicBrainzReleaseGroupId(value),
"musicbrainzreleasetrackid" => Self::MusicBrainzReleaseTrackId(value),
"musicbrainzworkid" => Self::MusicBrainzWorkId(value),
other => Self::Other(other.to_string(), value),
}
}