File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -863,11 +863,34 @@ def album_for_id(
863
863
864
864
# should be None unless we're dealing with a pseudo release
865
865
if actual_res is not None :
866
- actual_release = self .album_info ( actual_res [ "release" ] )
866
+ actual_release = self ._get_actual_release ( res , actual_res )
867
867
return _merge_pseudo_and_actual_album (release , actual_release )
868
868
else :
869
869
return release
870
870
871
+ def _get_actual_release (
872
+ self ,
873
+ res : JSONDict ,
874
+ actual_res : JSONDict ,
875
+ ) -> beets .autotag .hooks .AlbumInfo :
876
+ medium_list = res ["release" ]["medium-list" ]
877
+ for medium in medium_list :
878
+ for track in medium .get ("track-list" , []):
879
+ if "recording" not in track :
880
+ continue
881
+
882
+ recording_overrides = {
883
+ k : v
884
+ for k , v in track .items ()
885
+ if (k != "id" and k != "recording" )
886
+ }
887
+ track ["recording" ].update (recording_overrides )
888
+
889
+ actual_res = actual_res ["release" ]
890
+ actual_res ["medium-list" ] = medium_list
891
+ actual_release = self .album_info (actual_res )
892
+ return actual_release
893
+
871
894
def track_for_id (
872
895
self , track_id : str
873
896
) -> beets .autotag .hooks .TrackInfo | None :
You can’t perform that action at this time.
0 commit comments