Introducing designation of a WorkOrder that is 'replete' with CFrags for each PRETask.

pull/2712/head
jMyles 2019-08-11 16:24:56 -07:00
parent 74fa1803ab
commit c4937b78bf
3 changed files with 17 additions and 2 deletions

View File

@ -607,7 +607,7 @@ class Bob(Character):
capsules_to_include = []
for capsule in capsules:
try:
precedent_work_order = self._completed_work_orders[node_id][capsule]
precedent_work_order = self._completed_work_orders.most_recent_replete(capsule)[node_id]
self.log.debug(f"{capsule} already has a saved WorkOrder for this Node:{node_id}.")
complete_work_orders[node_id] = precedent_work_order
except KeyError:

View File

@ -411,6 +411,21 @@ class WorkOrderHistory:
def ursulas(self):
return self.by_ursula.keys()
def most_recent_replete(self, capsule):
"""
Returns most recent WorkOrders for each Ursula which contain a complete task (with CFrag attached) for this Capsule.
"""
return self._latest_replete[capsule]
def save_work_order(self, work_order, as_replete=False):
for task in work_order.tasks.values():
if as_replete:
work_orders_for_ursula = self._latest_replete.setdefault(task.capsule, {})
work_orders_for_ursula[work_order.ursula.checksum_address] = work_order
work_orders_for_ursula = self.by_ursula.setdefault(work_order.ursula.checksum_address, {})
work_orders_for_ursula[task.capsule] = work_order
def by_checksum_address(self, checksum_address):
return self.by_ursula.setdefault(checksum_address, {})

View File

@ -344,7 +344,7 @@ def test_federated_bob_retrieves(federated_bob,
alices_verifying_key = federated_alice.stamp.as_umbral_pubkey()
delivered_cleartexts = federated_bob.retrieve(message_kit=the_message_kit,
data_source=the_data_source,
enrico=the_data_source,
alice_verifying_key=alices_verifying_key,
label=enacted_federated_policy.label)