示例#1
0
def get_or_create_episode(project_id, name):
    episode_type = get_episode_type()
    episode = Entity.get_by(entity_type_id=episode_type["id"],
                            project_id=project_id,
                            name=name)
    if episode is None:
        episode = Entity(entity_type_id=episode_type["id"],
                         project_id=project_id,
                         name=name)
        episode.save()
    return episode.serialize()
示例#2
0
def get_or_create_sequence(project_id, episode_id, name):
    sequence_type = get_sequence_type()
    sequence = Entity.get_by(entity_type_id=sequence_type["id"],
                             parent_id=episode_id,
                             project_id=project_id,
                             name=name)
    if sequence is None:
        sequence = Entity(entity_type_id=sequence_type["id"],
                          parent_id=episode_id,
                          project_id=project_id,
                          name=name)
        sequence.save()
    return sequence.serialize()
示例#3
0
def get_or_create_episode(project_id, name):
    """
    Retrieve episode matching given project and name or create it.
    """
    episode_type = get_episode_type()
    episode = Entity.get_by(
        entity_type_id=episode_type["id"], project_id=project_id, name=name
    )
    if episode is None:
        episode = Entity(
            entity_type_id=episode_type["id"], project_id=project_id, name=name
        )
        episode.save()
    return episode.serialize()
示例#4
0
def create_asset(project, asset_type, name, description):
    name = name.capitalize()
    asset = Entity(project_id=project.id,
                   entity_type_id=asset_type.id,
                   name=name,
                   description=description)
    asset.save()
    events.emit(
        "asset:new", {
            "asset": asset.serialize(),
            "asset_type": asset_type.serialize(),
            "project": project.serialize()
        })
    return asset
示例#5
0
def get_or_create_sequence(project_id, episode_id, name):
    """
    Retrieve sequence matching given project, episode and name or create it.
    """
    sequence_type = get_sequence_type()
    sequence = Entity.get_by(entity_type_id=sequence_type["id"],
                             parent_id=episode_id,
                             project_id=project_id,
                             name=name)
    if sequence is None:
        sequence = Entity(entity_type_id=sequence_type["id"],
                          parent_id=episode_id,
                          project_id=project_id,
                          name=name)
        sequence.save()
    return sequence.serialize()
示例#6
0
def create_asset(project_id, asset_type_id, name, description, data):
    project = projects_service.get_project_raw(project_id)
    asset_type = get_asset_type_raw(asset_type_id)

    asset = Entity(project_id=project_id,
                   entity_type_id=asset_type_id,
                   name=name,
                   description=description,
                   data=data)
    asset.save()
    asset_dict = asset.serialize(obj_type="Asset")
    events.emit(
        "asset:new", {
            "asset": asset_dict,
            "asset_type": asset_type.serialize(obj_type="AssetType"),
            "project": project.serialize()
        })
    return asset_dict