'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    qBittorrent    download    status.')
    if (not self.connect()):
        return []
    try:
        torrents = self.qb.torrents(status='all', label=self.conf('label'))
        release_downloads = ReleaseDownloadList(self)
        for torrent in torrents:
            if (torrent['hash'] in ids):
                torrent_filelist = self.qb.get_torrent_files(torrent['hash'])
                torrent_files = []
                torrent_dir = os.path.join(torrent['save_path'], torrent['name'])
                if os.path.isdir(torrent_dir):
                    torrent['save_path'] = torrent_dir
                if ((len(torrent_filelist) > 1) and os.path.isdir(torrent_dir)):
                    for (root, _, files) in os.walk(torrent['save_path']):
                        for f in files:
                            torrent_files.append(sp(os.path.join(root, f)))
                else:
                    for f in torrent_filelist:
                        file_path = os.path.join(torrent['save_path'], f['name'])
                        if os.path.isfile(file_path):
                            torrent_files.append(sp(file_path))
                release_downloads.append({'id': torrent['hash'], 'name': torrent['name'], 'status': self.getTorrentStatus(torrent), 'seed_ratio': torrent['ratio'], 'original_status': torrent['state'], 'timeleft': str(timedelta(seconds=torrent['eta'])), 'folder': sp(torrent['save_path']), 'files': torrent_files})
        return release_downloads
    except Exception as e:
        log.error('Failed    to    get    status    from    qBittorrent:    %s', e)
        return []
