Example #1
0
 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)
Example #3
0
    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")