protected void completeIndexerSearchResult(Xml response, IndexerSearchResult indexerSearchResult, AcceptorResult acceptorResult, SearchRequest searchRequest, int offset, Integer limit) { NewznabXmlResponse newznabResponse = ((NewznabXmlRoot) response).getRssChannel().getNewznabResponse(); if (newznabResponse != null) { indexerSearchResult.setTotalResultsKnown(true); if (newznabResponse.getTotal() != null) { //Animetosho doesn't provide a total number of results indexerSearchResult.setTotalResults(newznabResponse.getTotal()); indexerSearchResult.setHasMoreResults(newznabResponse.getTotal() > newznabResponse.getOffset() + indexerSearchResult.getSearchResultItems().size() + acceptorResult.getNumberOfRejectedResults()); } else { indexerSearchResult.setTotalResults(indexerSearchResult.getSearchResultItems().size()); indexerSearchResult.setHasMoreResults(false); } indexerSearchResult.setOffset(newznabResponse.getOffset()); indexerSearchResult.setLimit(100); } else { indexerSearchResult.setTotalResultsKnown(false); indexerSearchResult.setHasMoreResults(false); indexerSearchResult.setOffset(0); indexerSearchResult.setLimit(0); } }
if (rssRoot.getRssChannel().getNewznabResponse() == null || rssRoot.getRssChannel().getNewznabResponse().getTotal() == 0) { return NfoResult.withoutNfo();
protected void completeIndexerSearchResult(Xml response, IndexerSearchResult indexerSearchResult, AcceptorResult acceptorResult, SearchRequest searchRequest, int offset, Integer limit) { NewznabXmlResponse newznabResponse = ((NewznabXmlRoot) response).getRssChannel().getNewznabResponse(); //DogNZB does not return a reliable total number. It's always 100 if there are more results, less if it's the last page indexerSearchResult.setTotalResultsKnown(false); if (newznabResponse != null) { if (newznabResponse.getTotal() == 100) { indexerSearchResult.setHasMoreResults(true); indexerSearchResult.setTotalResults(100); } else { indexerSearchResult.setTotalResultsKnown(true); indexerSearchResult.setHasMoreResults(false); indexerSearchResult.setTotalResults(searchRequest.getOffset().orElse(0) + newznabResponse.getTotal()); } indexerSearchResult.setOffset(newznabResponse.getOffset()); indexerSearchResult.setLimit(100); } else { indexerSearchResult.setTotalResults(0); indexerSearchResult.setHasMoreResults(false); indexerSearchResult.setOffset(0); indexerSearchResult.setLimit(0); } }