Codota Logo
NewznabXmlRoot
Code IndexAdd Codota to your IDE (free)

How to use
NewznabXmlRoot
in
org.nzbhydra.mapping.newznab.xml

Best Java code snippets using org.nzbhydra.mapping.newznab.xml.NewznabXmlRoot (Showing top 19 results out of 315)

  • Add the Codota plugin to your IDE and get smart completions
private void myMethod () {
OutputStreamWriter o =
  • Codota IconOutputStream out;new OutputStreamWriter(out)
  • Codota IconOutputStream out;String charsetName;new OutputStreamWriter(out, charsetName)
  • Codota IconHttpURLConnection connection;new OutputStreamWriter(connection.getOutputStream())
  • Smart code suggestions by Codota
}
origin: theotherp/nzbhydra2

public static NewznabXmlRoot getRssRoot(List<NewznabXmlItem> items, int offset, int total) {
  NewznabXmlRoot rssRoot = new NewznabXmlRoot();
  rssRoot.setVersion("2.0");
  NewznabXmlChannel channel = new NewznabXmlChannel();
  channel.setTitle("channelTitle");
  channel.setDescription("channelDescription");
  channel.setLanguage("en-gb");
  channel.setWebMaster("webmaster@master.com");
  channel.setLink("http://127.0.0.1:5080");
  channel.setNewznabResponse(new NewznabXmlResponse(offset, total));
  channel.setItems(items);
  rssRoot.setRssChannel(channel);
  return rssRoot;
}
origin: theotherp/nzbhydra2

@Override
protected List<SearchResultItem> getSearchResultItems(Xml rssRoot) {
  List<SearchResultItem> searchResultItems = new ArrayList<>();
  for (NewznabXmlItem item : ((NewznabXmlRoot) rssRoot).getRssChannel().getItems()) {
    try {
      SearchResultItem searchResultItem = createSearchResultItem(item);
      searchResultItems.add(searchResultItem);
    } catch (NzbHydraException e) {
      //Already logged
    }
  }
  return searchResultItems;
}
origin: theotherp/nzbhydra2

  public NewznabXmlRoot build() {
    NewznabXmlRoot rssRoot = new NewznabXmlRoot();
    rssChannel.getItems().addAll(items);
    rssRoot.setRssChannel(rssChannel);

    return rssRoot;
  }
}
origin: theotherp/nzbhydra2

protected Xml getAndStoreResultToDatabase(URI uri, IndexerApiAccessType apiAccessType) throws IndexerAccessException {
  NewznabXmlRoot rssRoot = new NewznabXmlRoot();
  if (uri.toString().contains("oneduplicate")) {
    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();
  } else if (uri.toString().contains("duplicatesandtitlegroups")) {
    rssRoot.getRssChannel().getItems().get(0).getEnclosure().setLength(100000L);
    rssRoot.getRssChannel().getItems().get(0).getNewznabAttributes().clear();
    rssRoot.getRssChannel().getItems().get(0).getTorznabAttributes().clear();
    rssRoot.getRssChannel().getItems().get(0).getNewznabAttributes().add(new NewznabAttribute("grabs", "100"));
    rssRoot3.getRssChannel().getItems().get(0).getEnclosure().setLength(200000L);
    rssRoot3.getRssChannel().getItems().get(0).getNewznabAttributes().clear();
    rssRoot3.getRssChannel().getItems().get(0).getTorznabAttributes().clear();
    rssRoot3.getRssChannel().getItems().get(0).getNewznabAttributes().add(new NewznabAttribute("grabs", "2000"));
    rssRoot3.getRssChannel().getItems().get(0).setLink("anotherlink"); //Otherwise it will result in a unique key exception
    rssRoot.getRssChannel().getItems().add(rssRoot3.getRssChannel().getItems().get(0));
    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()) {
origin: theotherp/nzbhydra2

if (!(response instanceof CapsXmlRoot)) {
  if (response instanceof NewznabXmlRoot) {
    NewznabXmlError error = ((NewznabXmlRoot) response).getError();
    if (error != null) {
      throw new IndexerAccessException("Indexer reported error during caps check: " + error);
origin: theotherp/nzbhydra2

NewznabXmlRoot getRssRoot(List<SearchResultItem> searchResultItems, Integer offset, int total, SearchRequest searchRequest) {
  NewznabXmlRoot rssRoot = new NewznabXmlRoot();
  NewznabXmlChannel rssChannel = new NewznabXmlChannel();
  rssChannel.setTitle("NZBHydra 2");
  rssChannel.setLink("https://www.github.com/theotherp/nzbhydra2");
  rssChannel.setWebMaster("theotherp@gmx.de");
  if (searchRequest.getDownloadType() == org.nzbhydra.searching.dtoseventsenums.DownloadType.NZB) {
    rssChannel.setNewznabResponse(new NewznabXmlResponse(offset == null ? 0 : offset, total));
  }
  rssChannel.setGenerator("NZBHydra2");
  rssRoot.setRssChannel(rssChannel);
  List<NewznabXmlItem> items = new ArrayList<>();
  for (SearchResultItem searchResultItem : searchResultItems) {
    NewznabXmlItem rssItem = buildRssItem(searchResultItem, searchRequest);
    items.add(rssItem);
  }
  rssChannel.setItems(items);
  return rssRoot;
}
origin: theotherp/nzbhydra2

NewznabXmlRoot rssRoot = new NewznabXmlRoot();
rssRoot.getRssChannel().setNewznabResponse(new NewznabXmlResponse(0, 1));
NewznabXmlItem item = new NewznabXmlItem();
item.setDescription("NFO for NZB with ID " + params.getId());
rssRoot.getRssChannel().getItems().add(item);
return ResponseEntity.ok(rssRoot);
NewznabXmlRoot rssRoot = new NewznabXmlRoot();
rssRoot.getRssChannel().setNewznabResponse(new NewznabXmlResponse(0, 0));
if (params.getOffset() >= 40) {
  return new ResponseEntity<Object>(rssRoot, HttpStatus.OK);
rssRoot.getRssChannel().getNewznabResponse().setTotal(40);
return new ResponseEntity<Object>(rssRoot, HttpStatus.OK);
NewznabMockRequest mockRequest = NewznabMockRequest.builder().numberOfResults(10).titleBase("actualduplicates").offset(params.getOffset()).titleWords(Collections.emptyList()).total(10).build();
NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(mockRequest);
rssRoot.getRssChannel().getItems().forEach(x -> x.setTitle(rssRoot.getRssChannel().getItems().get(0).getTitle()));
rssRoot.getRssChannel().getItems().forEach(x -> x.setLink(rssRoot.getRssChannel().getItems().get(0).getLink()));
rssRoot.getRssChannel().getItems().forEach(x -> x.setRssGuid(rssRoot.getRssChannel().getItems().get(0).getRssGuid()));
rssRoot.getRssChannel().getItems().forEach(x -> x.setNewznabAttributes(rssRoot.getRssChannel().getItems().get(0).getNewznabAttributes()));
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);
origin: theotherp/nzbhydra2

public NewznabXmlRoot getTestResult(int startCount, int endCount, String itemTitleBase, Integer offset, Integer total) {
  NewznabXmlRoot rssRoot = new NewznabXmlRoot();
  rssRoot.setVersion("2.0");
  NewznabXmlChannel channel = new NewznabXmlChannel();
  channel.setTitle("channelTitle");
  rssRoot.setRssChannel(channel);
origin: theotherp/nzbhydra2

protected boolean isNewznabResult(NewznabXmlRoot rssRoot) {
  return rssRoot.getRssChannel().getItems().stream().anyMatch(x -> x.getEnclosures().stream().anyMatch(enclosure -> "application/x-nzb".equals(enclosure.getType())));
}
origin: theotherp/nzbhydra2

protected boolean isTorznabResult(NewznabXmlRoot rssRoot) {
  return rssRoot.getRssChannel().getItems().stream().anyMatch(x -> x.getEnclosures().stream().anyMatch(enclosure -> "application/x-bittorrent".equals(enclosure.getType())) || !x.getTorznabAttributes().isEmpty());
}
origin: theotherp/nzbhydra2

@RequestMapping(value = "/torznab/api", produces = MediaType.TEXT_XML_VALUE)
public ResponseEntity<? extends Object> torznabapi(NewznabParameters params) throws Exception {
  if (params.getT() == ActionAttribute.CAPS) {
    return new ResponseEntity<Object>(NewznabMockBuilder.getCaps(), HttpStatus.OK);
  }
  NewznabXmlRoot rssRoot = NewznabMockBuilder.generateResponse(0, 10, params.getApikey(), false, Collections.emptyList());
  Random random = new Random();
  for (NewznabXmlItem item : rssRoot.getRssChannel().getItems()) {
    item.setNewznabAttributes(new ArrayList<>());
    item.getTorznabAttributes().add(new NewznabAttribute("seeders", String.valueOf(random.nextInt(30000))));
    item.getTorznabAttributes().add(new NewznabAttribute("peers", String.valueOf(random.nextInt(30000))));
    if (random.nextInt(5) > 3) {
      item.getTorznabAttributes().add(new NewznabAttribute("grabs", String.valueOf(random.nextInt(30000))));
    }
    item.setCategory("5000");
    item.setGrabs(null);
  }
  return new ResponseEntity<Object>(rssRoot, HttpStatus.OK);
}
origin: theotherp/nzbhydra2

@Override
protected void completeIndexerSearchResult(Xml response, IndexerSearchResult indexerSearchResult, AcceptorResult acceptorResult, SearchRequest searchRequest, int offset, Integer limit) {
  NewznabXmlChannel rssChannel = ((NewznabXmlRoot) response).getRssChannel();
  super.completeIndexerSearchResult(response, indexerSearchResult, acceptorResult, searchRequest, offset, limit);
  indexerSearchResult.setTotalResultsKnown(true);
  indexerSearchResult.setHasMoreResults(false);
  indexerSearchResult.setOffset(0);
  indexerSearchResult.setTotalResults(rssChannel.getItems().size());
  indexerSearchResult.setLimit(10000);
}
origin: theotherp/nzbhydra2

if (rssRoot.getRssChannel().getItems().isEmpty()) {
  logger.info("Indexer {} probably doesn't support the ID type {}. It returned no results.", request.indexerConfig.getName(), request.getKey());
  eventPublisher.publishEvent(new CheckerEvent(indexerConfig.getName(), "Probably doesn't support " + request.getKey()));
  return new SingleCheckCapsResponse(request.getKey(), false, rssRoot.getRssChannel().getGenerator());
long countCorrectResults = rssRoot.getRssChannel().getItems().stream().filter(x -> request.getTitleExpectedToContain().stream().anyMatch(y -> x.getTitle().toLowerCase().contains(y.toLowerCase()))).count();
float percentCorrect = (100 * countCorrectResults) / rssRoot.getRssChannel().getItems().size();
boolean supported = percentCorrect >= ID_THRESHOLD_PERCENT;
if (supported) {
  logger.info("Indexer {} probably supports the ID type {}. {}% of results were correct.", request.indexerConfig.getName(), request.getKey(), percentCorrect);
  eventPublisher.publishEvent(new CheckerEvent(indexerConfig.getName(), "Probably supports " + request.getKey()));
  return new SingleCheckCapsResponse(request.getKey(), true, rssRoot.getRssChannel().getGenerator());
} else {
  logger.info("Indexer {} probably doesn't support the ID type {}. {}% of results were correct.", request.indexerConfig.getName(), request.getKey(), percentCorrect);
  eventPublisher.publishEvent(new CheckerEvent(indexerConfig.getName(), "Probably doesn't support " + request.getKey()));
  return new SingleCheckCapsResponse(request.getKey(), false, rssRoot.getRssChannel().getGenerator());
origin: theotherp/nzbhydra2

@Override
protected List<SearchResultItem> getSearchResultItems(NewznabXmlRoot rssRoot) {
  if (rssRoot.getRssChannel().getItems() == null || rssRoot.getRssChannel().getItems().isEmpty()) {
    debug("No results found");
    return Collections.emptyList();
  for (NewznabXmlItem rssItem : rssRoot.getRssChannel().getItems()) {
    SearchResultItem item = new SearchResultItem();
    item.setPubDate(rssItem.getPubDate());
origin: theotherp/nzbhydra2

  if (rssRoot.getRssChannel().getNewznabResponse() == null || rssRoot.getRssChannel().getNewznabResponse().getTotal() == 0) {
    return NfoResult.withoutNfo();
  return NfoResult.withNfo(rssRoot.getRssChannel().getItems().get(0).getDescription());
} catch (IOException | IndexerAccessException e) {
  error("Error while getting NFO: " + e.getMessage());
origin: theotherp/nzbhydra2

if (!rssRoot.getRssChannel().getItems().isEmpty()) {
  if (indexerConfig.getSearchModuleType() == SearchModuleType.NEWZNAB && isTorznabResult(rssRoot)) {
    logger.error("Indexer added as newznab but returns torznab results");
origin: theotherp/nzbhydra2

@Override
protected List<SearchResultItem> getSearchResultItems(NewznabXmlRoot rssRoot) throws IndexerParsingException {
  List<SearchResultItem> items = new ArrayList<>();
  for (NewznabXmlItem rssItem : rssRoot.getRssChannel().getItems()) {
    SearchResultItem item = new SearchResultItem();
    item.setOriginalCategory("Anime");
    item.setTitle(rssItem.getTitle());
    item.setLink(rssItem.getLink());
    item.setIndexerGuid(rssItem.getRssGuid().getGuid());
    item.setSize(rssItem.getEnclosure().getLength());
    item.setPubDate(rssItem.getPubDate());
    item.setIndexerScore(config.getScore().orElse(0));
    item.setHasNfo(HasNfo.NO);
    item.setAgePrecise(true);
    item.setCategory(categoryProvider.getByInternalName("Anime"));
    item.setIndexer(this);
    item.setDownloadType(DownloadType.NZB);
    items.add(item);
  }
  return items;
}
origin: theotherp/nzbhydra2

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);
  }
}
origin: theotherp/nzbhydra2

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);
  }
}
org.nzbhydra.mapping.newznab.xmlNewznabXmlRoot

Most used methods

  • <init>
  • getRssChannel
  • setRssChannel
  • setVersion
  • getError

Popular in Java

  • Creating JSON documents from java classes using gson
  • scheduleAtFixedRate (Timer)
  • getSharedPreferences (Context)
  • getResourceAsStream (ClassLoader)
    Returns a stream for the resource with the specified name. See #getResource(String) for a descriptio
  • VirtualMachine (com.sun.tools.attach)
    A Java virtual machine. A VirtualMachine represents a Java virtual machine to which this Java vir
  • BorderLayout (java.awt)
    A border layout lays out a container, arranging and resizing its components to fit in five regions:
  • URLEncoder (java.net)
    This class is used to encode a string using the format required by application/x-www-form-urlencoded
  • StringUtils (org.apache.commons.lang)
    Operations on java.lang.String that arenull safe. * IsEmpty/IsBlank - checks if a String contains
  • LogFactory (org.apache.commons.logging)
    A minimal incarnation of Apache Commons Logging's LogFactory API, providing just the common Log look
  • Get (org.apache.hadoop.hbase.client)
    Used to perform Get operations on a single row. To get everything for a row, instantiate a Get objec
Codota Logo
  • Products

    Search for Java codeSearch for JavaScript codeEnterprise
  • IDE Plugins

    IntelliJ IDEAWebStormAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogCodota Academy Plugin user guide Terms of usePrivacy policyJava Code IndexJavascript Code Index
Get Codota for your IDE now