diff options
Diffstat (limited to 'module/PullEvents.py')
-rw-r--r-- | module/PullEvents.py | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/module/PullEvents.py b/module/PullEvents.py index 5ec76765e..3835a34ac 100644 --- a/module/PullEvents.py +++ b/module/PullEvents.py @@ -13,26 +13,26 @@ You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. - + @author: mkaay """ from time import time from module.utils import uniqify -class PullManager(): +class PullManager: 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 @@ -46,52 +46,52 @@ class PullManager(): if not validUuid: self.newClient(uuid) events = [ReloadAllEvent("queue").toList(), ReloadAllEvent("collector").toList()] - return uniqify(events, repr) - + return uniqify(events) + def addEvent(self, event): for client in self.clients: client.addEvent(event) -class Client(): +class Client: 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(): +class UpdateEvent: def __init__(self, itype, iid, destination): assert itype == "pack" or itype == "file" assert destination == "queue" or destination == "collector" self.type = itype self.id = iid self.destination = destination - + def toList(self): return ["update", self.destination, self.type, self.id] -class RemoveEvent(): +class RemoveEvent: def __init__(self, itype, iid, destination): assert itype == "pack" or itype == "file" assert destination == "queue" or destination == "collector" self.type = itype self.id = iid self.destination = destination - + def toList(self): return ["remove", self.destination, self.type, self.id] -class InsertEvent(): +class InsertEvent: def __init__(self, itype, iid, after, destination): assert itype == "pack" or itype == "file" assert destination == "queue" or destination == "collector" @@ -99,22 +99,22 @@ class InsertEvent(): self.id = iid self.after = after self.destination = destination - + def toList(self): return ["insert", self.destination, self.type, self.id, self.after] -class ReloadAllEvent(): +class ReloadAllEvent: def __init__(self, destination): assert destination == "queue" or destination == "collector" self.destination = destination - + def toList(self): return ["reload", self.destination] -class AccountUpdateEvent(): +class AccountUpdateEvent: def toList(self): return ["account"] -class ConfigUpdateEvent(): +class ConfigUpdateEvent: def toList(self): return ["config"] |