Commit Diff


commit - 3b237fd1f8835a1757287f837d2ff093ca141e00
commit + 5f165b70e93af046648925625db592f8e1abff79
blob - b20ae4f5d3308c131bf0300c8b5bc61bf3ff0c0e
blob + 89d084c2ef32057e7001688b7a5d47b51363db0d
--- src/fetchers/discogs.rs
+++ src/fetchers/discogs.rs
@@ -64,7 +64,6 @@ pub struct DiscogsSearchResponse {
 
 #[derive(Deserialize, Debug, Clone)]
 pub struct DiscogsResult {
-    pub genre: Option<Vec<String>>,
     pub style: Option<Vec<String>>,
     pub label: Option<Vec<String>>,
 }
blob - 1cf54defde17f26568954c545fff6c7db8f5d124
blob + 596d7518226915037d27856fd8948ea5133b89e9
--- src/metadata/fetch.rs
+++ src/metadata/fetch.rs
@@ -1,5 +1,5 @@
 use crate::context::AppContext;
-use crate::metadata::{extract_genres, extract_labels, extract_subgenres};
+use crate::metadata::{extract_labels, extract_subgenres};
 use anyhow::Result;
 use std::collections::HashSet;
 
@@ -15,31 +15,26 @@ pub async fn process_query(ctx: &AppContext, artist: &
         fetch_musicbrainz(ctx, artist, album),
     );
 
-    let mut genres = HashSet::new();
     let mut subgenres = HashSet::new();
     let mut labels = HashSet::new();
 
     if let Ok(Some(data)) = discogs_res {
-        genres.extend(extract_genres(&data));
+        // Use Discogs subgenres (style) as primary genres
         subgenres.extend(extract_subgenres(&data));
         labels.extend(extract_labels(&data));
     }
 
     if let Ok(mb_genres) = mb_res {
-        genres.extend(mb_genres);
+        subgenres.extend(mb_genres);
     }
 
     Ok(FetchedMetadata {
         genres: {
-            let mut v: Vec<_> = genres.into_iter().collect();
-            v.sort();
-            v
-        },
-        subgenres: {
             let mut v: Vec<_> = subgenres.into_iter().collect();
             v.sort();
             v
         },
+        subgenres: vec![],
         labels: {
             let mut v: Vec<_> = labels.into_iter().collect();
             v.sort();
blob - 05ed8eb5e632a0d4da3ad5197960929e7a9ad728
blob + 21e95fc234b6be4b1baf36b698256dd38d7ec0f0
--- src/metadata/mod.rs
+++ src/metadata/mod.rs
@@ -2,10 +2,6 @@ pub mod fetch;
 
 use crate::fetchers::discogs::DiscogsResult;
 
-pub fn extract_genres(result: &DiscogsResult) -> Vec<String> {
-    result.genre.iter().flatten().cloned().collect()
-}
-
 pub fn extract_subgenres(result: &DiscogsResult) -> Vec<String> {
     result.style.iter().flatten().cloned().collect()
 }