summaryrefslogtreecommitdiffstats
path: root/pyload/manager/Event.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/manager/Event.py')
-rw-r--r--pyload/manager/Event.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/pyload/manager/Event.py b/pyload/manager/Event.py
index 20897290e..90aaaca30 100644
--- a/pyload/manager/Event.py
+++ b/pyload/manager/Event.py
@@ -5,18 +5,22 @@ from time import time
from pyload.utils import uniqify
class PullManager(object):
+
def __init__(self, core):
self.core = core
self.clients = []
+
def newClient(self, uuid):
self.clients.append(Client(uuid))
+
def clean(self):
for n, client in enumerate(self.clients):
if client.lastActive + 30 < time():
del self.clients[n]
+
def getEvents(self, uuid):
events = []
validUuid = False
@@ -32,28 +36,34 @@ class PullManager(object):
events = [ReloadAllEvent("queue").toList(), ReloadAllEvent("collector").toList()]
return uniqify(events)
+
def addEvent(self, event):
for client in self.clients:
client.addEvent(event)
class Client(object):
+
def __init__(self, uuid):
self.uuid = uuid
self.lastActive = time()
self.events = []
+
def newEvents(self):
return len(self.events) > 0
+
def popEvent(self):
if not len(self.events):
return None
return self.events.pop(0)
+
def addEvent(self, event):
self.events.append(event)
class UpdateEvent(object):
+
def __init__(self, itype, iid, destination):
assert itype == "pack" or itype == "file"
assert destination == "queue" or destination == "collector"
@@ -61,10 +71,12 @@ class UpdateEvent(object):
self.id = iid
self.destination = destination
+
def toList(self):
return ["update", self.destination, self.type, self.id]
class RemoveEvent(object):
+
def __init__(self, itype, iid, destination):
assert itype == "pack" or itype == "file"
assert destination == "queue" or destination == "collector"
@@ -72,10 +84,12 @@ class RemoveEvent(object):
self.id = iid
self.destination = destination
+
def toList(self):
return ["remove", self.destination, self.type, self.id]
class InsertEvent(object):
+
def __init__(self, itype, iid, after, destination):
assert itype == "pack" or itype == "file"
assert destination == "queue" or destination == "collector"
@@ -84,21 +98,26 @@ class InsertEvent(object):
self.after = after
self.destination = destination
+
def toList(self):
return ["insert", self.destination, self.type, self.id, self.after]
class ReloadAllEvent(object):
+
def __init__(self, destination):
assert destination == "queue" or destination == "collector"
self.destination = destination
+
def toList(self):
return ["reload", self.destination]
class AccountUpdateEvent(object):
+
def toList(self):
return ["account"]
class ConfigUpdateEvent(object):
+
def toList(self):
return ["config"]