def get_entities_for_reindex(tags):
    """Collect entities for theses tags."""
    if isinstance(tags, Tag):
        tags = (tags,)

    session = db.session()
    indexing = get_service("indexing")
    tbl = Entity.__table__
    tag_ids = [t.id for t in tags]
    query = (
        sa.sql.select([tbl.c.entity_type, tbl.c.id])
        .select_from(tbl.join(entity_tag_tbl, entity_tag_tbl.c.entity_id == tbl.c.id))
        .where(entity_tag_tbl.c.tag_id.in_(tag_ids))
    )

    entities = set()

    with session.no_autoflush:
        for entity_type, entity_id in session.execute(query):
            if entity_type not in indexing.adapted:
                logger.debug("%r is not indexed, skipping", entity_type)

            item = ("changed", entity_type, entity_id, ())
            entities.add(item)

    return entities
def get_entities_for_reindex ( tags ) : if isinstance ( tags , Tag ) : tags = ( tags , ) session = db . session ( ) indexing = get_service ( "indexing" ) tbl = Entity . __table__ tag_ids = [ t . id for t in tags ] query = ( sa . sql . select ( [ tbl . c . entity_type , tbl . c . id ] ) . select_from ( tbl . join ( entity_tag_tbl , entity_tag_tbl . c . entity_id == tbl . c . id ) ) . where ( entity_tag_tbl . c . tag_id . in_ ( tag_ids ) ) ) entities = set ( ) with session . no_autoflush : for entity_type , entity_id in session . execute ( query ) : if entity_type not in indexing . adapted : logger . debug ( "%r is not indexed, skipping" , entity_type ) item = ( "changed" , entity_type , entity_id , ( ) ) entities . add ( item ) return entities
Collect entities for theses tags.