'Get list of all torrents in specified view
@return: list of L{Torrent} instances
@rtype: list
@todo: add validity check for specified view'

def get_torrents(self, view='main'):

    self.torrents = []
    methods = rtorrent.torrent.methods
    retriever_methods = [m for m in methods if (m.is_retriever() and m.is_available(self))]
    m = rtorrent.rpc.Multicall(self)
    m.add('d.multicall', view, 'd.get_hash=', *[(method.rpc_call + '=') for method in retriever_methods])
    results = m.call()[0]
    for result in results:
        results_dict = {}
        for (m, r) in zip(retriever_methods, result[1:]):
            results_dict[m.varname] = rtorrent.rpc.process_result(m, r)
        self.torrents.append(Torrent(self, info_hash=result[0], **results_dict))
    self._manage_torrent_cache()
    return self.torrents
