MetadataLookupList MetadataDownload::readNFO(QString NFOpath, MetadataLookup* lookup) { MetadataLookupList list; LOG(VB_GENERAL, LOG_INFO, QString("Matching NFO file found. Parsing %1 for metadata...") .arg(NFOpath)); if (lookup->GetType() == kMetadataVideo) { QByteArray nforaw; QDomElement item; if (NFOpath.startsWith("myth://")) { RemoteFile *rf = new RemoteFile(NFOpath); if (rf && rf->Open()) { bool loaded = rf->SaveAs(nforaw); if (loaded) { QDomDocument doc; if (doc.setContent(nforaw, true)) { lookup->SetStep(kLookupData); item = doc.documentElement(); } else LOG(VB_GENERAL, LOG_ERR, QString("PIRATE ERROR: Invalid NFO file found.")); } rf->Close(); } delete rf; rf = NULL; } else { QFile file(NFOpath); if (file.open(QIODevice::ReadOnly)) { nforaw = file.readAll(); QDomDocument doc; if (doc.setContent(nforaw, true)) { lookup->SetStep(kLookupData); item = doc.documentElement(); } else LOG(VB_GENERAL, LOG_ERR, QString("PIRATE ERROR: Invalid NFO file found.")); file.close(); } } MetadataLookup *tmp = ParseMetadataMovieNFO(item, lookup); list.append(tmp); } return list; }
MetadataLookupList MetadataDownload::readMXML(QString MXMLpath, MetadataLookup* lookup, bool passseas) { MetadataLookupList list; LOG(VB_GENERAL, LOG_INFO, QString("Matching MXML file found. Parsing %1 for metadata...") .arg(MXMLpath)); if (lookup->GetType() == kMetadataVideo) { QByteArray mxmlraw; QDomElement item; if (MXMLpath.startsWith("myth://")) { RemoteFile *rf = new RemoteFile(MXMLpath); if (rf && rf->Open()) { bool loaded = rf->SaveAs(mxmlraw); if (loaded) { QDomDocument doc; if (doc.setContent(mxmlraw, true)) { lookup->SetStep(kLookupData); QDomElement root = doc.documentElement(); item = root.firstChildElement("item"); } else LOG(VB_GENERAL, LOG_ERR, QString("Corrupt or invalid MXML file.")); } rf->Close(); } delete rf; rf = NULL; } else { QFile file(MXMLpath); if (file.open(QIODevice::ReadOnly)) { mxmlraw = file.readAll(); QDomDocument doc; if (doc.setContent(mxmlraw, true)) { lookup->SetStep(kLookupData); QDomElement root = doc.documentElement(); item = root.firstChildElement("item"); } else LOG(VB_GENERAL, LOG_ERR, QString("Corrupt or invalid MXML file.")); file.close(); } } MetadataLookup *tmp = ParseMetadataItem(item, lookup, passseas); list.append(tmp); } return list; }