Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Genre:
- def __init__(self, genre):
- self.genre = genre
- def __str__(self):
- return f'{self.genre}'
- class Band:
- def __init__(self, title):
- self.title = title
- def __str__(self):
- return f'{self.title}'
- class Song:
- def __init__(self, name, genre, title):
- self.genre = genre
- self.title = title
- self.name = name
- def get_g(self):
- return self.genre
- def get_t(self):
- return self.title
- def __str__(self):
- return f'{self.name}'
- class Album:
- def __init__(self, album, *name):
- self.album = album
- self.storage = list(name)
- def __getitem__(self, item):
- return self.storage[item]
- def __str__(self):
- a = [f'{self.storage[i]}' for i in range(len(self.storage))]
- return f'ALBUM "{self.album}":\n' + '\n'.join(a) + '\n'
- class Subgenre(Genre):
- def __init__(self, title, genre):
- super().__init__(genre)
- self.title = title
- def get_parent(self):
- return self.genre
- def __str__(self):
- return f'{self.title}'
- class Catalog:
- def __init__(self, teg, *catalogue):
- self.list = catalogue
- self.teg = teg
- def __getitem__(self, item):
- return self.list[item]
- def get_artist(self, other):
- print(f'{other} ->')
- for i in range(len(self.list)):
- if str(self.list[i].get_t()) == str(other):
- print(f'{self.list[i]}')
- return ''
- def get_genre(self, other):
- print(f'{other} ->')
- for i in range(len(self.list)):
- if isinstance(self.list[i].get_g(), Subgenre):
- if str(self.list[i].get_g().get_parent()) == str(other):
- print(self.list[i])
- else:
- if str(self.list[i].get_g()) == str(other):
- print(f'{self.list[i]}')
- return ''
- def __str__(self):
- a = [f'{self.list[i]}' for i in range(len(self.list))]
- return f'CATALOG "{self.teg}" -> \n' + '\n'.join(a) + '\n'
- country, rok, rap, pop = Genre('country'), Genre('rok'), Genre('rap'), Genre('pop')
- vestern, hardrok = Subgenre('vestern', country), Subgenre('hardrok', rok)
- rammstein, beatles, L = Band('rammstein'), Band('beatles'), Band('L')
- song, song2, song3 = Song('Senschut', rok, rammstein), Song('Circles', rap, L), Song('Rammstein', hardrok, rammstein)
- s, s2, s3 = Song('Yesterday', vestern, beatles), Song('Yellow Submarine', rok, beatles), Song('Ultimate', rap, L)
- nice, good = Album('nice', song, song3), Album('good', s, s2)
- catalog = Catalog('GoodTaste', song, song2, song3, s3, s, s2)
- print(nice, good, sep='\n')
- print(catalog)
- print(catalog.get_artist(rammstein))
- print(catalog.get_genre(rok))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement