Beginning of bucketing.

pull/2355/head
jMyles 2020-10-13 12:17:57 -07:00
parent b2586e55b6
commit 06bcde3e2c
1 changed files with 8 additions and 1 deletions

View File

@ -22,7 +22,7 @@ import maya
from bytestring_splitter import BytestringSplitter from bytestring_splitter import BytestringSplitter
from constant_sorrow.constants import NO_KNOWN_NODES from constant_sorrow.constants import NO_KNOWN_NODES
from collections import namedtuple from collections import namedtuple, defaultdict
from collections import OrderedDict from collections import OrderedDict
from twisted.logger import Logger from twisted.logger import Logger
@ -70,6 +70,7 @@ class FleetSensor:
self.additional_nodes_to_track = [] self.additional_nodes_to_track = []
self.updated = maya.now() self.updated = maya.now()
self._nodes = OrderedDict() self._nodes = OrderedDict()
self._marked = defaultdict(list) # Beginning of bucketing.
self.states = OrderedDict() self.states = OrderedDict()
def __setitem__(self, key, value): def __setitem__(self, key, value):
@ -181,3 +182,9 @@ class FleetSensor:
"color_name": state.nickname.characters[0].color_name, "color_name": state.nickname.characters[0].color_name,
"updated": state.updated.rfc2822(), "updated": state.updated.rfc2822(),
} }
def mark_as(self, label: Exception, node: "Teacher"):
self._marked[label].append(node)
if self._nodes.get(node):
del self._nodes[node]