report bandwidth, only pull changes

This commit is contained in:
j 2015-12-01 00:26:35 +01:00
commit 68383b8834
8 changed files with 78 additions and 26 deletions

26
oml/bandwidth.py Normal file
View file

@ -0,0 +1,26 @@
import state
from websocket import trigger_event
class Bandwidth(object):
up = 0
down = 0
_last = {}
def __init__(self):
self.update()
def update(self):
bandwidth = {'up': self.up, 'down': self.down}
if bandwidth != self._last:
trigger_event('bandwidth', bandwidth)
self._last = bandwidth
self.up = 0
self.down = 0
state.main.call_later(1, self.update)
def download(self, amount):
self.down += amount * 8
def upload(self, amount):
self.up += amount * 8