bool FvUpdater::searchDownloadedFeedForUpdates(QString xmlTitle, QString xmlLink, QString xmlReleaseNotesLink, QString xmlPubDate, QString xmlEnclosureUrl, QString xmlEnclosureVersion, QString xmlEnclosurePlatform, unsigned long xmlEnclosureLength, QString xmlEnclosureType) { qDebug() << "Title:" << xmlTitle; qDebug() << "Link:" << xmlLink; qDebug() << "Release notes link:" << xmlReleaseNotesLink; qDebug() << "Pub. date:" << xmlPubDate; qDebug() << "Enclosure URL:" << xmlEnclosureUrl; qDebug() << "Enclosure version:" << xmlEnclosureVersion; qDebug() << "Enclosure platform:" << xmlEnclosurePlatform; qDebug() << "Enclosure length:" << xmlEnclosureLength; qDebug() << "Enclosure type:" << xmlEnclosureType; // Validate if (xmlReleaseNotesLink.isEmpty()) { if (xmlLink.isEmpty()) { showErrorDialog(tr("Feed error: \"release notes\" link is empty"), false); return false; } else { xmlReleaseNotesLink = xmlLink; } } else { xmlLink = xmlReleaseNotesLink; } if (! (xmlLink.startsWith("http://") || xmlLink.startsWith("https://"))) { showErrorDialog(tr("Feed error: invalid \"release notes\" link"), false); return false; } if (xmlEnclosureUrl.isEmpty() || xmlEnclosureVersion.isEmpty() || xmlEnclosurePlatform.isEmpty()) { showErrorDialog(tr("Feed error: invalid \"enclosure\" with the download link"), false); return false; } // Relevant version? if (FVIgnoredVersions::VersionIsIgnored(xmlEnclosureVersion)) { qDebug() << "Version '" << xmlEnclosureVersion << "' is ignored, too old or something like that."; showInformationDialog(tr("No updates were found."), false); return true; // Things have succeeded when you think of it. } // // Success! At this point, we have found an update that can be proposed // to the user. // if (m_proposedUpdate) { delete m_proposedUpdate; m_proposedUpdate = 0; } m_proposedUpdate = new FvAvailableUpdate(); m_proposedUpdate->SetTitle(xmlTitle); m_proposedUpdate->SetReleaseNotesLink(xmlReleaseNotesLink); m_proposedUpdate->SetPubDate(xmlPubDate); m_proposedUpdate->SetEnclosureUrl(xmlEnclosureUrl); m_proposedUpdate->SetEnclosureVersion(xmlEnclosureVersion); m_proposedUpdate->SetEnclosurePlatform(xmlEnclosurePlatform); m_proposedUpdate->SetEnclosureLength(xmlEnclosureLength); m_proposedUpdate->SetEnclosureType(xmlEnclosureType); // Show "look, there's an update" window showUpdaterWindowUpdatedWithCurrentUpdateProposal(); return true; }
bool FvUpdater::searchDownloadedFeedForUpdates(QString xmlTitle, QString xmlLink, QString xmlReleaseNotesLink, QString xmlReleaseNotesHtml, QString xmlPubDate, QString xmlEnclosureUrl, QString xmlEnclosureVersion, QString xmlEnclosurePlatform, unsigned long xmlEnclosureLength, QString xmlEnclosureType) { // qDebug() << "Title:" << xmlTitle; // qDebug() << "Link:" << xmlLink; // qDebug() << "Release notes link:" << xmlReleaseNotesLink; // qDebug() << "Pub. date:" << xmlPubDate; // qDebug() << "Enclosure URL:" << xmlEnclosureUrl; // qDebug() << "Enclosure version:" << xmlEnclosureVersion; // qDebug() << "Enclosure platform:" << xmlEnclosurePlatform; // qDebug() << "Enclosure length:" << xmlEnclosureLength; // qDebug() << "Enclosure type:" << xmlEnclosureType; // Validate Release notes if (xmlReleaseNotesHtml.isEmpty()) { if (xmlReleaseNotesLink.isEmpty()) { if (xmlLink.isEmpty()) { showErrorDialog(tr("Feed error: \"release notes\" link is empty"), NO_UPDATE_MESSAGE); return false; } else { xmlReleaseNotesLink = xmlLink; } } else { xmlLink = xmlReleaseNotesLink; } if (! (xmlLink.startsWith("http://") || xmlLink.startsWith("https://"))) { showErrorDialog(tr("Feed error: invalid \"release notes\" link"), NO_UPDATE_MESSAGE); return false; } } // Validate if (xmlEnclosureUrl.isEmpty() || xmlEnclosureVersion.isEmpty() || xmlEnclosurePlatform.isEmpty()) { showErrorDialog(tr("Feed error: invalid \"enclosure\" with the download link"), NO_UPDATE_MESSAGE); return false; } xmlEnclosureUrl = QUrl::fromPercentEncoding(xmlEnclosureUrl.toLatin1()); // qDebug() << " decoded URL:" << xmlEnclosureUrl; // Append dynamic url content - if supported in EnclosureUrl if(xmlEnclosureUrl.contains('%')) xmlEnclosureUrl = xmlEnclosureUrl.arg(m_dynamicUrl); // qDebug() << "Download URL:" << xmlEnclosureUrl; // Relevant version? // If not silent, check also ignored version if (FVIgnoredVersions::VersionIsIgnored(xmlEnclosureVersion, !m_silentAsMuchAsItCouldGet)) { qDebug() << "Version '" << xmlEnclosureVersion << "' is ignored, too old or something like that."; showInformationDialog(tr("No updates were found."), false); return true; // Things have succeeded when you think of it. } // // Success! At this point, we have found an update that can be proposed // to the user. // if (m_proposedUpdate) { delete m_proposedUpdate; m_proposedUpdate = 0; } m_proposedUpdate = new FvAvailableUpdate(); m_proposedUpdate->SetTitle(xmlTitle); m_proposedUpdate->SetReleaseNotesLink(xmlReleaseNotesLink); m_proposedUpdate->SetReleaseNotesHtml(xmlReleaseNotesHtml); m_proposedUpdate->SetPubDate(xmlPubDate); m_proposedUpdate->SetEnclosureUrl(xmlEnclosureUrl); m_proposedUpdate->SetEnclosureVersion(xmlEnclosureVersion); m_proposedUpdate->SetEnclosurePlatform(xmlEnclosurePlatform); m_proposedUpdate->SetEnclosureLength(xmlEnclosureLength); m_proposedUpdate->SetEnclosureType(xmlEnclosureType); // Show "look, there's an update" window showUpdaterWindowUpdatedWithCurrentUpdateProposal(); return true; }