@utils.enforce_id_param
    def download_song(self, song_id):

        url = self._make_call(musicmanager.GetDownloadLink,
                              song_id,
                              self.uploader_id)['url']

        response = self._make_call(musicmanager.DownloadTrack, url)

        cd_header = response.headers['content-disposition']

        filename = urllib.parse.unquote(cd_header.split("filename*=UTF-8''")[-1])

        return (filename, response.content)

    # def get_quota(self):
    #     """Returns a tuple of (allowed number of tracks, total tracks, available tracks)."""
    #     quota = self._mm_pb_call("client_state").quota
    #     #protocol incorrect here...
    #     return (quota.maximumTracks, quota.totalTracks, quota.availableTracks)
This filter is to add safety in production environments (i.e. DEBUG
dataset/ETHPy150Open simon-weber/gmusicapi/gmusicapi/clients/musicmanager.py/Musicmanager.download_song--crossover with--dataset/ETHPy150Open AppScale/appscale/AppServer/lib/django-1.5/django/views/debug.py/SafeExceptionReporterFilter.is_active