'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    rTorrent    download    status.')
    if (not self.connect()):
        return []
    try:
        torrents = self.rt.get_torrents()
        release_downloads = ReleaseDownloadList(self)
        for torrent in torrents:
            if (torrent.info_hash in ids):
                torrent_directory = os.path.normpath(torrent.directory)
                torrent_files = []
                for file in torrent.get_files():
                    if (not os.path.normpath(file.path).startswith(torrent_directory)):
                        file_path = os.path.join(torrent_directory, file.path.lstrip('/'))
                    else:
                        file_path = file.path
                    torrent_files.append(sp(file_path))
                release_downloads.append({'id': torrent.info_hash, 'name': torrent.name, 'status': self.getTorrentStatus(torrent), 'seed_ratio': torrent.ratio, 'original_status': torrent.state, 'timeleft': (str(timedelta(seconds=(float(torrent.left_bytes) / torrent.down_rate))) if (torrent.down_rate > 0) else (-1)), 'folder': sp(torrent.directory), 'files': torrent_files})
        return release_downloads
    except Exception as err:
        log.error('Failed    to    get    status    from    rTorrent:    %s', err)
        return []
