rename genres to playlists

This commit is contained in:
2024-09-14 00:31:55 +03:00
parent 7eca925a8e
commit 266b580df7
6 changed files with 28 additions and 30 deletions

View File

@@ -31,7 +31,7 @@ pub struct Manifest {
#[serde(skip)]
path: PathBuf,
format: Format,
genres: HashMap<GenreName, Genre>
playlists: HashMap<GenreName, Genre>
}
#[allow(dead_code)]
@@ -40,32 +40,32 @@ impl Manifest {
&self.format
}
pub fn add_song(&mut self, genre: GenreName, name: SongName, song: Song) -> Option<Song> {
self.get_genre_mut(genre)?.insert(name, song)
self.get_playlist_mut(genre)?.insert(name, song)
}
pub fn get_song(&self, genre: GenreName, name: &SongName) -> Option<&Song> {
self.get_genre(genre)?.get(name)
self.get_playlist(genre)?.get(name)
}
pub fn get_song_mut(&mut self, genre: GenreName, name: &SongName) -> Option<&mut Song> {
self.get_genre_mut(genre)?.get_mut(name)
self.get_playlist_mut(genre)?.get_mut(name)
}
pub fn add_genre(&mut self, name: GenreName) {
self.genres.insert(name, Default::default());
pub fn add_playlist(&mut self, name: GenreName) {
self.playlists.insert(name, Default::default());
}
pub fn get_genre(&self, name: GenreName) -> Option<&Genre> {
self.genres.get(&name)
pub fn get_playlist(&self, name: GenreName) -> Option<&Genre> {
self.playlists.get(&name)
}
pub fn get_genre_mut(&mut self, name: GenreName) -> Option<&mut Genre> {
self.genres.get_mut(&name)
pub fn get_playlist_mut(&mut self, name: GenreName) -> Option<&mut Genre> {
self.playlists.get_mut(&name)
}
pub fn get_genres(&self) -> &HashMap<GenreName, Genre> {
&self.genres
pub fn get_playlists(&self) -> &HashMap<GenreName, Genre> {
&self.playlists
}
pub fn get_genres_mut(&mut self) -> &mut HashMap<GenreName, Genre> {
&mut self.genres
pub fn get_playlists_mut(&mut self) -> &mut HashMap<GenreName, Genre> {
&mut self.playlists
}
pub fn get_song_count(&self) -> usize {
let mut count = 0;
for (_, v) in &self.genres {
for (_, v) in &self.playlists {
count += v.len();
}
count
@@ -76,7 +76,7 @@ impl Manifest {
let data = std::fs::read_to_string(path)?;
let s: Self = serde_json::from_str(data.as_str())?;
self.genres = s.genres;
self.playlists = s.playlists;
self.format = s.format;
Ok(())