def get(self): """ Retrieve all entity types that are not shot or sequence. """ criterions = query.get_query_criterions_from_request(request) asset_types = asset_info.get_asset_types(criterions) return EntityType.serialize_list(asset_types)
def get_asset_types(criterions={}): """ Retrieve all asset types available. """ query = EntityType.query.filter(build_entity_type_asset_type_filter()) query = query_utils.apply_criterions_to_db_query(Entity, query, criterions) return EntityType.serialize_list(query.all(), obj_type="AssetType")
def get_assets(criterions={}): """ Get all assets for given criterions. """ query = Entity.query.filter(build_asset_type_filter()) query = query_utils.apply_criterions_to_db_query(Entity, query, criterions) result = query.all() return EntityType.serialize_list(result, obj_type="Asset")
def get_assets(criterions={}): shot_type = shots_service.get_shot_type() scene_type = shots_service.get_scene_type() sequence_type = shots_service.get_sequence_type() episode_type = shots_service.get_episode_type() query = Entity.query.filter_by(**criterions) result = query.filter(~Entity.entity_type_id.in_([ shot_type["id"], scene_type["id"], sequence_type["id"], episode_type["id"] ])).all() return EntityType.serialize_list(result, obj_type="Asset")
def get_asset_types_for_shot(shot_id): shot = Entity.get(shot_id) asset_type_ids = [x.entity_type_id for x in shot.entities_out] if len(asset_type_ids) > 0: query = EntityType.query query = query.filter(EntityType.id.in_(asset_type_ids)) result = query.all() else: result = [] return EntityType.serialize_list(result, obj_type="AssetType")
def get_project_asset_types(project_id): query = EntityType.query \ .join(Entity, Entity.entity_type_id == EntityType.id) \ .join(Task, Task.entity_id == Entity.id) \ .join(Project, ProjectStatus) \ .filter(Project.id == project_id) \ .filter(assignee_filter()) \ .filter(open_project_filter()) \ .filter(asset_type_filter()) return EntityType.serialize_list(query.all(), obj_type="AssetType")
def get_asset_types_for_project(project_id): asset_type_ids = [ x["entity_type_id"] for x in get_assets({"project_id": project_id}) ] if len(asset_type_ids) > 0: query = EntityType.query query = query.filter(EntityType.id.in_(asset_type_ids)) result = query.all() else: result = [] return EntityType.serialize_list(result, obj_type="AssetType")
def get_asset_types_for_shot(shot_id): """ Retrieve all asset types related to asset casted in a given shot. """ shot = Entity.get(shot_id) asset_type_ids = [x.entity_type_id for x in shot.entities_out] if len(asset_type_ids) > 0: query = EntityType.query query = query.filter(EntityType.id.in_(asset_type_ids)) result = query.all() else: result = [] return EntityType.serialize_list(result, obj_type="AssetType")
def get_asset_types_for_project(project_id): """ Get all asset types for which there is an asset for which current user has a task assigned. Assets are listed in given project. """ query = EntityType.query \ .join(Entity, Entity.entity_type_id == EntityType.id) \ .join(Task, Task.entity_id == Entity.id) \ .join(Project, ProjectStatus) \ .filter(Project.id == project_id) \ .filter(build_assignee_filter()) \ .filter(build_open_project_filter()) \ .filter(assets_service.build_asset_type_filter()) return EntityType.serialize_list(query.all(), obj_type="AssetType")
def get_asset_types_for_project(project_id): """ Retrieve all asset types related to asset of a given project. """ asset_type_ids = [ x["entity_type_id"] for x in get_assets({"project_id": project_id}) ] if len(asset_type_ids) > 0: result = EntityType.query \ .filter(EntityType.id.in_(asset_type_ids)) \ .all() else: result = [] return EntityType.serialize_list(result, obj_type="AssetType")
def get_asset_types(criterions={}): shot_type = shots_service.get_shot_type() sequence_type = shots_service.get_sequence_type() episode_type = shots_service.get_episode_type() scene_type = shots_service.get_scene_type() asset_type_filter = ~EntityType.id.in_([ shot_type["id"], sequence_type["id"], episode_type["id"], scene_type["id"], ]) query = EntityType.query \ .filter_by(**criterions) \ .filter(asset_type_filter) return EntityType.serialize_list(query.all(), obj_type="AssetType")
def get_assets(criterions={}): """ Get all assets for given criterions. """ query = Entity.query.filter(build_asset_type_filter()) assigned_to = False if "assigned_to" in criterions: assigned_to = True del criterions["assigned_to"] query = query_utils.apply_criterions_to_db_query(Entity, query, criterions) if assigned_to: query = query.outerjoin(Task) query = query.filter(user_service.build_assignee_filter()) result = query.all() return EntityType.serialize_list(result, obj_type="Asset")
def get_assets(criterions={}): """ Get all assets for given criterions. """ query = Entity.query.filter(build_asset_type_filter()) assigned_to = False episode_id = None if "assigned_to" in criterions: assigned_to = True del criterions["assigned_to"] if "episode_id" in criterions: episode_id = criterions["episode_id"] del criterions["episode_id"] query = query_utils.apply_criterions_to_db_query(Entity, query, criterions) if assigned_to: query = query.outerjoin(Task) query = query.filter(user_service.build_assignee_filter()) if episode_id is not None: # Filter based on main episode. query = query.filter(Entity.source_id == episode_id) result = query.all() # Filter based on episode casting. query = ( Entity.query.join( EntityLink, EntityLink.entity_out_id == Entity.id ) .filter(EntityLink.entity_in_id == episode_id) .filter(build_asset_type_filter()) ) query = query_utils.apply_criterions_to_db_query( Entity, query, criterions ) # Add non duplicated assets to the list. result += [a for a in query.all() if a.source_id != episode_id] else: result = query.all() return EntityType.serialize_list(result, obj_type="Asset")