'Get status of all active downloads
:param ids: list of (mixed) downloader ids
Used to match the releases for this downloader as there could be
other downloaders active that it should ignore
:return: list of releases'

def getAllDownloadStatus(self, ids):

    raw_statuses = self.call('nzb')
    release_downloads = ReleaseDownloadList(self)
    for nzb in raw_statuses.get('nzbs', []):
        nzb_id = os.path.basename(nzb['nzbFileName'])
        if (nzb_id in ids):
            status = 'busy'
            if (nzb['state'] == 20):
                status = 'completed'
            elif (nzb['state'] in [21, 22, 24]):
                status = 'failed'
            release_downloads.append({'temp_id': nzb['id'], 'id': nzb_id, 'name': nzb['uiTitle'], 'status': status, 'original_status': nzb['state'], 'timeleft': (-1), 'folder': sp(nzb['destinationPath'])})
    return release_downloads
