def from_async(cls, async): group_id = None try: # Does the async have an id with a valid group id? group_id = leaf_persistence_id_to_group_id(async.id) except InvalidLeafId: pass callbacks = async._options.get('callbacks') marker = cls(id=async.id, group_id=group_id, callbacks=callbacks) return marker
def test_leaf_id_functions(self): """ Ensure the group id can be retrieved from the id given to an async """ import uuid from furious.marker_tree.identity_utils import InvalidLeafId from furious.marker_tree.identity_utils import leaf_persistence_id_from_group_id from furious.marker_tree.identity_utils import leaf_persistence_id_to_group_id group_id = uuid.uuid4().hex index = 2 leaf_key = leaf_persistence_id_from_group_id(group_id, index) self.assertIsNotNone(leaf_key) self.assertEqual(len(leaf_key.split(',')), 2) reconstituted_group_id = leaf_persistence_id_to_group_id(leaf_key) self.assertEqual(reconstituted_group_id, group_id) group_id = "{0},2,4".format(uuid.uuid4().hex) index = 2 leaf_key = leaf_persistence_id_from_group_id(group_id, index) self.assertIsNotNone(leaf_key) self.assertGreaterEqual(len(leaf_key.split(',')), 2) reconstituted_group_id = leaf_persistence_id_to_group_id(leaf_key) self.assertEqual(reconstituted_group_id, group_id) def wrapper(): return leaf_persistence_id_to_group_id("2") self.assertRaises(InvalidLeafId, wrapper) def non_string_wrapper(): return leaf_persistence_id_to_group_id(2) self.assertRaises(InvalidLeafId, non_string_wrapper) group_id = leaf_persistence_id_to_group_id(u"234,4") self.assertEqual(u"234", group_id)
def get_group_id(self): """The group id may be stored as the group_id property or extracted from the id. """ group_id = None try: #is the batch_id a valid leaf id? group_id = leaf_persistence_id_to_group_id(self.id) except InvalidLeafId: pass if self.group_id: #it is in internal vertex group_id = self.group_id return group_id
def non_string_wrapper(): return leaf_persistence_id_to_group_id(2)
def wrapper(): return leaf_persistence_id_to_group_id("2")