Example #1
0
def create_fake_creator(
    name=None,
    is_group=False,
    alias_names=None
):
    creator_dict = {
        'name': name or random_word_generator(2),
        'is_group': is_group
    }
    alias_names = alias_names or []
    with session_scope() as session:
        new_fake_creator = Creator(**creator_dict)
        for alias_name in alias_names:
            new_alias = CreatorAlias(name=alias_name, creator=new_fake_creator)
        session.add(new_fake_creator)
        session.commit()
        creator_dict = api_to_model_dict({'creator': new_fake_creator.to_dict()})
        return creator_dict
Example #2
0
def create_creator(creator_dict):
    creator_dict = dict(creator_dict)
    creator_dict.pop('id', None)
    with session_scope() as session:
        roles = creator_dict.pop('roles', None)
        related_creators = creator_dict.pop('related_creators', [])
        aliases = creator_dict.pop('aliases', [])
        new_creator = Creator(**creator_dict)
        session.add(new_creator)
        if roles:
            _update_roles_for_creator(session, roles, new_creator)
        if related_creators:
            related_creator_rows = session.query(Creator)\
                .filter(Creator.id.in_(related_creators))\
                .all()
            new_creator.related_creators = related_creator_rows
        if aliases:
            _update_creator_aliases(session, aliases, new_creator)
        session.commit()
        return new_creator.to_dict()