Пример #1
0
def tag(obj, tag_name):
    """
    Tag an object with a tag name
    :param obj:
    :param tag_name:
    :return:
    """
    #check for dupes
    all_tags = get_tags(obj)
    conflict_filtered = filter(lambda x: x.tag == tag_name, all_tags)
    if len(conflict_filtered) > 0:
        return conflict_filtered[0]

    tag_obj = Tag()
    tag_obj.obj_id = obj._id
    tag_obj.coll_name = obj.__class__.coll_name()
    tag_obj.tag = tag_name
    tag_obj._id = save(tag_obj)
    return tag_obj