def push_to_fluiddb(raw_data, root_path, klass, about, name, allowEmpty=True):
    """
    Given the raw data and a class derived from FOM's Object class will import
    the data into FluidDB. Each item in the list mapping to a new object in
    FluidDB. The 'about' and 'name' arguments are used to automate the
    generation of the about tag and associated value.
    """
    length = len(raw_data)
    for counter, item in enumerate(raw_data):
        logger.info("Processing record %d of %d" % (counter + 1, length))
        # create the object
        if about:
            about_value = "%s:%s" % (name, item[about])
            logger.info('Creating new object with about tag value: %r' %
                     about_value)
            obj = klass(about=about_value)
        else:
            logger.info('Creating a new anonymous object')
            obj = klass()
            obj.create()
        logger.info('Object %r successfully created' % obj.uid)
        # annotate it
        tag_values = get_values(item, root_path)
        for key, value in tag_values.iteritems():
            set_tag_value(klass, obj, key, value, allowEmpty)
        if about:
            logger.info('Finished annotating Object about %r with id: %r' %
                         (about_value, obj.uid))
        else:
            logger.info('Finished annotating anonymous Object with id: %r' %
                         obj.uid)
dataset/ETHPy150Open fluidinfo/flimp/flimp/utils.py/push_to_fluiddb/original