Dniel97/orpheusdl-tidal

Formatting feat artist name missing

Closed this issue · 4 comments

Sorry, I'm not good at english.

Hello.

I install orpheusdl-tidal and trying to download some track. I config in settings.json adding {artist} but i can't get featuring artist name.
Ex. Happy - Adam feat. Eve

In this case tidal using (,) instead feat and yeah i can't get any featuring artist name when i using {artist}.

The only reason this happens is because Tidal returns only 1 artist in 'name' in the dictionary. if you really want to have it setup similar to how it is in Tidal for folder structure, you can try these changes but I highly wouldn't recommend doing this. Just stick with the track tags as it already saves the featuring artist in the tags and doing this will break whatever your tagging scheme is. tidal/interface.py Line 332

        artist = ', '.join([i['name'] for i in album_data.get('artists')])
        return AlbumInfo(
            name=album_data.get('title'),
            release_year=album_data.get('releaseDate')[:4],
            explicit=album_data.get('explicit'),
            quality=quality,
            upc=album_data.get('upc'),
            cover_url=self.generate_artwork_url(album_data.get('cover'),
                                                size=self.cover_size) if album_data.get('cover') else None,
            animated_cover_url=self.generate_animated_artwork_url(album_data.get('videoCover')) if album_data.get(
                'videoCover') else None,
            artist=artist,
            artist_id=album_data.get('artist').get('id'),
            tracks=tracks,
            track_extra_kwargs=cache
        )

The only reason this happens is because Tidal returns only 1 artist in 'name' in the dictionary. if you really want to have it setup similar to how it is in Tidal for folder structure, you can try these changes but I highly wouldn't recommend doing this. Just stick with the track tags as it already saves the featuring artist in the tags and doing this will break whatever your tagging scheme is. tidal/interface.py Line 332

        artist = ', '.join([i['name'] for i in album_data.get('artists')])
        return AlbumInfo(
            name=album_data.get('title'),
            release_year=album_data.get('releaseDate')[:4],
            explicit=album_data.get('explicit'),
            quality=quality,
            upc=album_data.get('upc'),
            cover_url=self.generate_artwork_url(album_data.get('cover'),
                                                size=self.cover_size) if album_data.get('cover') else None,
            animated_cover_url=self.generate_animated_artwork_url(album_data.get('videoCover')) if album_data.get(
                'videoCover') else None,
            artist=artist,
            artist_id=album_data.get('artist').get('id'),
            tracks=tracks,
            track_extra_kwargs=cache
        )

Sorry, I'm not good at english.

Thank you for your fast response !!

I tried to change code in interface.py and nothing change or return featuring artist name.
I thought i forget config to set force_album_format to "false" but still nothing happened.

I hope develoeper come to fix or adding this feature to make this project to good.

Thanks for your help

I just tested everything and it all seems to be working fine.
But also like I said earlier I don't recommend using this as it may mess up tagging at any time.

image

Closing due to inactivity