/** * for TV_SHOW only, called with getShowDetails */ @Override protected void processXmlContent(String xmlDetails, MediaMetadata md, MediaSearchResult result) throws Exception { if (xmlDetails == null || StringUtils.isEmpty(xmlDetails)) { LOGGER.warn("Cannot process empty Xml Contents."); return; } LOGGER.debug("******* BEGIN XML ***********"); LOGGER.debug(xmlDetails); LOGGER.debug("******* END XML ***********"); Document xml = parseXmlString(xmlDetails); addMetadata(md, xml.getDocumentElement()); String showId = md.getId(scraper.getProviderInfo().getId()).toString(); // String episodeUrl = DOMUtils.getElementValue(xml.getDocumentElement(), EPISODEGUIDE); // might be multiple!! String episodeUrl = innerXml(DOMUtils.getElementByTagName(xml.getDocumentElement(), EPISODEGUIDE)); if (StringUtils.isEmpty(episodeUrl)) { LOGGER.error("No Episode Data!"); } else { KodiMetadataProvider.XML_CACHE.put(scraper.getProviderInfo().getId() + "_" + showId + "_" + "EPISODEGUIDE_URL", episodeUrl); md.addExtraData(EPISODEGUIDE, episodeUrl); result.setMetadata(md); } LOGGER.debug("MetaData: " + md.toString()); KodiMetadataProvider.XML_CACHE.put(scraper.getProviderInfo().getId() + "_" + showId + "_" + result.getId(), xmlDetails); }