#include "datautils.h"
#include "video.h"
+#include <QRegularExpression>
+
+namespace {
+
+QString decodeEntities(const QString &s) {
+ return QTextDocumentFragment::fromHtml(s).toPlainText();
+}
+
+} // namespace
+
YT3ListParser::YT3ListParser(const QByteArray &bytes) {
QJsonDocument doc = QJsonDocument::fromJson(bytes);
QJsonObject obj = doc.object();
video->setChannelId(snippet[QLatin1String("channelId")].toString());
- video->setTitle(snippet[QLatin1String("title")].toString());
+ QString title = snippet[QLatin1String("title")].toString();
+ static const QChar ampersand('&');
+ if (title.contains(ampersand)) title = decodeEntities(title);
+ video->setTitle(title);
video->setDescription(snippet[QLatin1String("description")].toString());
QJsonObject thumbnails = snippet[QLatin1String("thumbnails")].toObject();
- QLatin1String url("url");
- video->setThumbnailUrl(thumbnails[QLatin1String("medium")].toObject()[url].toString());
- video->setMediumThumbnailUrl(thumbnails[QLatin1String("high")].toObject()[url].toString());
- video->setLargeThumbnailUrl(thumbnails[QLatin1String("standard")].toObject()[url].toString());
+ // TODO
video->setChannelTitle(snippet[QLatin1String("channelTitle")].toString());