if (rssRoot.getRssChannel().getNewznabResponse() == null || rssRoot.getRssChannel().getNewznabResponse().getTotal() == 0) { return NfoResult.withoutNfo();
NewznabMockRequest mockRequest = NewznabMockRequest.builder().numberOfResults(1).titleBase("oneresult").titleWords(Collections.emptyList()).total(1).build(); rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getNewznabResponse().setTotal(1); rssRoot.getRssChannel().getItems().get(0).getEnclosure().setLength(100000L); rssRoot.getRssChannel().getItems().get(0).getNewznabAttributes().clear(); rssRoot.getRssChannel().getItems().add(rssRoot2.getRssChannel().getItems().get(0)); rssRoot.getRssChannel().getNewznabResponse().setTotal(3); NewznabMockRequest mockRequest = NewznabMockRequest.builder().numberOfResults(10).titleBase("duplicates").titleWords(Collections.emptyList()).total(10).build(); rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getNewznabResponse().setTotal(10); for (NewznabXmlItem rssItem : rssRoot.getRssChannel().getItems()) { rssItem.getEnclosure().setLength(100000L); rssRoot.getRssChannel().getNewznabResponse().setTotal(2); rssRoot.getRssChannel().getNewznabResponse().setTotal(100);
rssRoot = NewznabMockBuilder.generateResponse(start, end, "offsetTest", doGenerateDuplicates, Collections.emptyList()); rssRoot.getRssChannel().getNewznabResponse().setTotal(40); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); rssRoot.getRssChannel().getNewznabResponse().setTotal(100); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); rssRoot.getRssChannel().getNewznabResponse().setTotal(100); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); .build(); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getNewznabResponse().setTotal(1); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); .build(); NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest); rssRoot.getRssChannel().getNewznabResponse().setTotal(1); rssRoot.getRssChannel().getItems().forEach(x -> x.setTitle("titlegroup")); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); rssRoot.getRssChannel().getNewznabResponse().setTotal(10); return new ResponseEntity<Object>(rssRoot, HttpStatus.OK); rssRoot.getRssChannel().getNewznabResponse().setTotal(endIndex);
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); } }
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); } }