示例#1
0
def get_search_requests(page=0, limit=100, type=None):
    query = Search().select(
        Search.time, Search.internal, Search.query, Search.identifier_key,
        Search.identifier_value, Search.category, Search.season,
        Search.episode, Search.type, Search.username, Search.title,
        Search.author, TvIdCache.title.alias("tvtitle"),
        MovieIdCache.title.alias("movietitle")).join(
            TvIdCache,
            JOIN.LEFT_OUTER,
            on=(((Search.identifier_value == TvIdCache.tvdb) &
                 (Search.identifier_key == "tvdbid")) |
                ((Search.identifier_value == TvIdCache.tvrage) &
                 (Search.identifier_key == "rid")))).join(
                     MovieIdCache,
                     JOIN.LEFT_OUTER,
                     on=(((Search.identifier_value == MovieIdCache.imdb) &
                          (Search.identifier_key == "imdbid")) |
                         ((Search.identifier_value == MovieIdCache.tmdb) &
                          (Search.identifier_key == "tmdbid"))))

    if type is not None and type != "All":
        query = query.where(
            Search.internal) if type == "Internal" else query.where(
                ~Search.internal)
    total_requests = query.count()
    requests = list(
        query.order_by(Search.time.desc()).paginate(page, limit).dicts())

    search_requests = {
        "totalRequests": total_requests,
        "searchRequests": requests
    }
    return search_requests
示例#2
0
def get_search_requests(page=0, limit=100, sortModel=None, filterModel=None, distinct=False, onlyUser=None):
    columnNameToEntityMap = {
        "time": Search.time,
        "query": Search.query,
        "category": Search.category,
        "access": Search.internal,
        "username": Search.username
    }
    columns = [Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username, Search.title, Search.author, TvIdCache.title.alias("tvtitle"), MovieIdCache.title.alias("movietitle")]

    query = Search().select(*columns)
    query = query.join(TvIdCache, JOIN.LEFT_OUTER, on=(
        ((Search.identifier_value == TvIdCache.tvdb) & (Search.identifier_key == "tvdbid")) |
        ((Search.identifier_value == TvIdCache.tvrage) & (Search.identifier_key == "rid"))
    )).join(MovieIdCache, JOIN.LEFT_OUTER, on=(
        ((Search.identifier_value == MovieIdCache.imdb) & (Search.identifier_key == "imdbid")) |
        ((Search.identifier_value == MovieIdCache.tmdb) & (Search.identifier_key == "tmdbid"))))

    query = extendQueryWithFilter(columnNameToEntityMap, filterModel, query)
    query = extendQueryWithSorting(columnNameToEntityMap, query, sortModel, Search.time.desc())

    if onlyUser is not None and onlyUser:
        query = query.where(Search.username == onlyUser)
    if distinct:
        query = query.group_by(Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username, Search.title, Search.author)
    total_requests = query.count()
    requests = list(query.paginate(page, limit).dicts())

    search_requests = {"totalRequests": total_requests, "searchRequests": requests}
    return search_requests
示例#3
0
def get_search_requests(page=0, limit=100, type=None):
    query = Search().select(Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type)
    if type is not None and type != "All":
        query = query.where(Search.internal) if type == "Internal" else query.where(~Search.internal)
    total_requests = query.count()
    requests = list(query.order_by(Search.time.desc()).paginate(page, limit).dicts())

    search_requests = {"totalRequests": total_requests, "searchRequests": requests}
    return search_requests
示例#4
0
def get_search_requests(page=0, limit=100, type=None):
    query = Search().select(Search.time, Search.internal, Search.query, Search.identifier_key, Search.identifier_value, Search.category, Search.season, Search.episode, Search.type, Search.username, TvIdCache.title.alias("tvtitle"), MovieIdCache.title.alias("movietitle")).join(TvIdCache, JOIN.LEFT_OUTER, on=(
        ((Search.identifier_value == TvIdCache.tvdb) & (Search.identifier_key == "tvdbid")) | 
        ((Search.identifier_value == TvIdCache.tvrage) & (Search.identifier_key == "rid"))
    )).join(MovieIdCache, JOIN.LEFT_OUTER, on=(
        ((Search.identifier_value == MovieIdCache.imdb) & (Search.identifier_key == "imdbid")) |
        ((Search.identifier_value == MovieIdCache.tmdb) & (Search.identifier_key == "tmdbid"))))

    if type is not None and type != "All":
        query = query.where(Search.internal) if type == "Internal" else query.where(~Search.internal)
    total_requests = query.count()
    requests = list(query.order_by(Search.time.desc()).paginate(page, limit).dicts())

    search_requests = {"totalRequests": total_requests, "searchRequests": requests}
    return search_requests
示例#5
0
文件: stats.py 项目: nzbis/nzbhydra
def get_search_requests(page=0, limit=100, type=None):
    query = Search().select(Search.time, Search.internal, Search.query,
                            Search.identifier_key, Search.identifier_value,
                            Search.category, Search.season, Search.episode,
                            Search.type, Search.username)
    if type is not None and type != "All":
        query = query.where(
            Search.internal) if type == "Internal" else query.where(
                ~Search.internal)
    total_requests = query.count()
    requests = list(
        query.order_by(Search.time.desc()).paginate(page, limit).dicts())

    search_requests = {
        "totalRequests": total_requests,
        "searchRequests": requests
    }
    return search_requests