def __init__(self, srvapi, interval=1, autoconnect=True):
self._session_stats_updated = False
self._tcounts_updated = False
self._reset_session_stats()
self._reset_tcounts()
self._on_update = blinker.Signal()
self._poller_stats = RequestPoller(srvapi.rpc.session_stats,
autoconnect=autoconnect,
interval=interval,
loop=srvapi.loop)
self._poller_stats.on_response(self._handle_session_stats)
self._poller_stats.on_error(lambda e: log.debug('Ignoring exception: %r', e),
autoremove=False)
# 'session-stats' provides some counters, but not enough, so we
# request a minimalistic torrent list.
self._poller_tcount = RequestPoller(srvapi.torrent.torrents,
keys=('rate-down', 'rate-up', 'status'),
autoconnect=autoconnect,
interval=interval,
loop=srvapi.loop)
self._poller_tcount.on_response(self._handle_tlist)
评论列表
文章目录