Coverage for src/aggregator/classes/artist.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-05-14 23:08 +0000

1"""Module for artist class.""" 

2 

3 

4class Artist: 

5 """Class representing an artist.""" 

6 def __init__(self, artist_id, name, popularity, followers, genres, albums=None, tracks=None): 

7 self.artist_id = artist_id 

8 self.name = name 

9 self.popularity = popularity 

10 self.followers = followers 

11 self.genres = genres 

12 self.albums = albums 

13 self.tracks = tracks 

14 if type(name) is not str: 

15 raise TypeError("Artist name must be string.") 

16 

17 def __str__(self): 

18 return f'{self.artist_id} {self.name} {self.popularity}' \ 

19 f' {self.followers} {self.genres} {self.albums} {self.tracks}' 

20 

21 def get_artist_name(self): 

22 """Function returns artist's name.""" 

23 return self.name