示例#1
0
def get_nzb_downloads(page=0, limit=100, filterModel=None, sortModel=None):
    columnNameToEntityMap = {
        "time": IndexerApiAccess.time,
        "indexer": Indexer.name,
        "title": IndexerNzbDownload.title,
        "access": IndexerNzbDownload.internal,
        "successful": IndexerApiAccess.response_successful,
        "username": IndexerApiAccess.username
    }

    query = IndexerNzbDownload() \
        .select(Indexer.name.alias("indexerName"), IndexerNzbDownload.title, IndexerApiAccess.time, IndexerNzbDownload.internal, SearchResult.id.alias('searchResultId'), SearchResult.details.alias('detailsLink'), IndexerApiAccess.response_successful, IndexerApiAccess.username) \
        .switch(IndexerNzbDownload).join(IndexerApiAccess, JOIN.LEFT_OUTER).join(Indexer, JOIN.LEFT_OUTER) \
        .switch(IndexerNzbDownload).join(SearchResult, JOIN.LEFT_OUTER)

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

    total_downloads = query.count()
    nzb_downloads = list(query.paginate(page, limit).dicts())
    downloads = {
        "totalDownloads": total_downloads,
        "nzbDownloads": nzb_downloads
    }
    return downloads
示例#2
0
文件: stats.py 项目: gspu/nzbhydra
def get_nzb_downloads(page=0, limit=100, filterModel=None, sortModel=None):
    columnNameToEntityMap = {
        "time": IndexerApiAccess.time,
        "indexer": Indexer.name,
        "title": IndexerNzbDownload.title,
        "access": IndexerNzbDownload.internal,
        "successful": IndexerApiAccess.response_successful,
        "username": IndexerApiAccess.username
    }

    query = IndexerNzbDownload() \
        .select(Indexer.name.alias("indexerName"), IndexerNzbDownload.title, IndexerApiAccess.time, IndexerNzbDownload.internal, SearchResult.id.alias('searchResultId'), SearchResult.details.alias('detailsLink'), IndexerApiAccess.response_successful, IndexerApiAccess.username) \
        .switch(IndexerNzbDownload).join(IndexerApiAccess, JOIN.LEFT_OUTER).join(Indexer, JOIN.LEFT_OUTER) \
        .switch(IndexerNzbDownload).join(SearchResult, JOIN.LEFT_OUTER)

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

    total_downloads = query.count()
    nzb_downloads = list(query.paginate(page, limit).dicts())
    downloads = {"totalDownloads": total_downloads, "nzbDownloads": nzb_downloads}
    return downloads