code: def get_song_discovery(self, cache=True):
          
          if not (cache and ('song_discovery' in self.cache)):
              response = self.get_attribute('profile', bucket='song_discovery')
              self.cache['song_discovery'] = response['songs'][0]['song_discovery']
          return self.cache['song_discovery']
docs: Args:
              cache (bool): A boolean indicating whether or not the cached value should be used (if available). Defaults to True.
  
          Returns:
              A float representing a song's discovery rank.
  
          Example:
              >>> s = song.Song('SOQKVPH12A58A7AF4D')
              >>> s.get_song_discovery()
              0.639626025843539
              >>> s.song_discovery
              0.639626025843539
              >>>