'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):

    log.debug('Checking    uTorrent    download    status.')
    if (not self.connect()):
        return []
    release_downloads = ReleaseDownloadList(self)
    data = self.utorrent_api.get_status()
    if (not data):
        log.error('Error    getting    data    from    uTorrent')
        return []
    queue = json.loads(data)
    if queue.get('error'):
        log.error('Error    getting    data    from    uTorrent:    %s', queue.get('error'))
        return []
    if (not queue.get('torrents')):
        log.debug('Nothing    in    queue')
        return []
    for torrent in queue['torrents']:
        if (torrent[0] in ids):
            torrent_files = []
            try:
                torrent_files = json.loads(self.utorrent_api.get_files(torrent[0]))
                torrent_files = [sp(os.path.join(torrent[26], torrent_file[0])) for torrent_file in torrent_files['files'][1]]
            except:
                log.debug('Failed    getting    files    from    torrent:    %s', torrent[2])
            status = 'busy'
            if (((torrent[1] & self.status_flags['STARTED']) or (torrent[1] & self.status_flags['QUEUED'])) and (torrent[4] == 1000)):
                status = 'seeding'
            elif ((torrent[1] & self.status_flags['ERROR']) and ('There    is    not    enough    space    on    the    disk' not in torrent[21])):
                status = 'failed'
            elif (torrent[4] == 1000):
                status = 'completed'
            if (not (status == 'busy')):
                self.removeReadOnly(torrent_files)
            release_downloads.append({'id': torrent[0], 'name': torrent[2], 'status': status, 'seed_ratio': (float(torrent[7]) / 1000), 'original_status': torrent[1], 'timeleft': str(timedelta(seconds=torrent[10])), 'folder': sp(torrent[26]), 'files': torrent_files})
    return release_downloads
