Replace QLatin1String with operator _L1

This commit is contained in:
Jonas Kvinge
2024-09-07 04:24:14 +02:00
parent e3e6a22172
commit 4270b12cd1
185 changed files with 2429 additions and 2139 deletions

View File

@@ -43,6 +43,8 @@
#include "qobuzservice.h"
#include "qobuzbaserequest.h"
using namespace Qt::StringLiterals;
QobuzBaseRequest::QobuzBaseRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, QObject *parent)
: QObject(parent),
service_(service),
@@ -107,9 +109,9 @@ QByteArray QobuzBaseRequest::GetReplyData(QNetworkReply *reply) {
QJsonDocument json_doc = QJsonDocument::fromJson(data, &parse_error);
if (parse_error.error == QJsonParseError::NoError && !json_doc.isEmpty() && json_doc.isObject()) {
QJsonObject json_obj = json_doc.object();
if (!json_obj.isEmpty() && json_obj.contains(QLatin1String("status")) && json_obj.contains(QLatin1String("code")) && json_obj.contains(QLatin1String("message"))) {
int code = json_obj[QLatin1String("code")].toInt();
QString message = json_obj[QLatin1String("message")].toString();
if (!json_obj.isEmpty() && json_obj.contains("status"_L1) && json_obj.contains("code"_L1) && json_obj.contains("message"_L1)) {
int code = json_obj["code"_L1].toInt();
QString message = json_obj["message"_L1].toString();
error = QStringLiteral("%1 (%2)").arg(message).arg(code);
}
}
@@ -170,11 +172,11 @@ QJsonValue QobuzBaseRequest::ExtractItems(QByteArray &data) {
QJsonValue QobuzBaseRequest::ExtractItems(QJsonObject &json_obj) {
if (!json_obj.contains(QLatin1String("items"))) {
if (!json_obj.contains("items"_L1)) {
Error(QStringLiteral("Json reply is missing items."), json_obj);
return QJsonArray();
}
QJsonValue json_items = json_obj[QLatin1String("items")];
QJsonValue json_items = json_obj["items"_L1];
return json_items;
}

View File

@@ -134,7 +134,7 @@ void QobuzFavoriteRequest::AddFavoritesRequest(const FavoriteType type, const QS
const ParamList params = ParamList() << Param(QStringLiteral("app_id"), app_id())
<< Param(QStringLiteral("user_auth_token"), user_auth_token())
<< Param(FavoriteMethod(type), ids_list.join(QLatin1Char(',')));
<< Param(FavoriteMethod(type), ids_list.join(u','));
QUrlQuery url_query;
for (const Param &param : params) {
@@ -229,7 +229,7 @@ void QobuzFavoriteRequest::RemoveFavoritesRequest(const FavoriteType type, const
const ParamList params = ParamList() << Param(QStringLiteral("app_id"), app_id())
<< Param(QStringLiteral("user_auth_token"), user_auth_token())
<< Param(FavoriteMethod(type), ids_list.join(QLatin1Char(',')));
<< Param(FavoriteMethod(type), ids_list.join(u','));
QUrlQuery url_query;
for (const Param &param : params) {

View File

@@ -49,6 +49,8 @@
#include "qobuzbaserequest.h"
#include "qobuzrequest.h"
using namespace Qt::StringLiterals;
namespace {
constexpr int kMaxConcurrentArtistsRequests = 3;
constexpr int kMaxConcurrentAlbumsRequests = 3;
@@ -423,12 +425,12 @@ void QobuzRequest::ArtistsReplyReceived(QNetworkReply *reply, const int limit_re
return;
}
if (!json_obj.contains(QLatin1String("artists"))) {
if (!json_obj.contains("artists"_L1)) {
ArtistsFinishCheck();
Error(QStringLiteral("Json object is missing artists."), json_obj);
return;
}
QJsonValue value_artists = json_obj[QLatin1String("artists")];
QJsonValue value_artists = json_obj["artists"_L1];
if (!value_artists.isObject()) {
Error(QStringLiteral("Json artists is not an object."), json_obj);
ArtistsFinishCheck();
@@ -436,17 +438,17 @@ void QobuzRequest::ArtistsReplyReceived(QNetworkReply *reply, const int limit_re
}
QJsonObject obj_artists = value_artists.toObject();
if (!obj_artists.contains(QLatin1String("limit")) ||
!obj_artists.contains(QLatin1String("offset")) ||
!obj_artists.contains(QLatin1String("total")) ||
!obj_artists.contains(QLatin1String("items"))) {
if (!obj_artists.contains("limit"_L1) ||
!obj_artists.contains("offset"_L1) ||
!obj_artists.contains("total"_L1) ||
!obj_artists.contains("items"_L1)) {
ArtistsFinishCheck();
Error(QStringLiteral("Json artists object is missing values."), json_obj);
return;
}
//int limit = obj_artists["limit"].toInt();
int offset = obj_artists[QLatin1String("offset")].toInt();
int artists_total = obj_artists[QLatin1String("total")].toInt();
int offset = obj_artists["offset"_L1].toInt();
int artists_total = obj_artists["total"_L1].toInt();
if (offset_requested == 0) {
artists_total_ = artists_total;
@@ -491,8 +493,8 @@ void QobuzRequest::ArtistsReplyReceived(QNetworkReply *reply, const int limit_re
}
QJsonObject obj_item = value_item.toObject();
if (obj_item.contains(QLatin1String("item"))) {
QJsonValue json_item = obj_item[QLatin1String("item")];
if (obj_item.contains("item"_L1)) {
QJsonValue json_item = obj_item["item"_L1];
if (!json_item.isObject()) {
Error(QStringLiteral("Invalid Json reply, item not a object."), json_item);
continue;
@@ -500,19 +502,19 @@ void QobuzRequest::ArtistsReplyReceived(QNetworkReply *reply, const int limit_re
obj_item = json_item.toObject();
}
if (!obj_item.contains(QLatin1String("id")) || !obj_item.contains(QLatin1String("name"))) {
if (!obj_item.contains("id"_L1) || !obj_item.contains("name"_L1)) {
Error(QStringLiteral("Invalid Json reply, item missing id or album."), obj_item);
continue;
}
Artist artist;
if (obj_item[QLatin1String("id")].isString()) {
artist.artist_id = obj_item[QLatin1String("id")].toString();
if (obj_item["id"_L1].isString()) {
artist.artist_id = obj_item["id"_L1].toString();
}
else {
artist.artist_id = QString::number(obj_item[QLatin1String("id")].toInt());
artist.artist_id = QString::number(obj_item["id"_L1].toInt());
}
artist.artist = obj_item[QLatin1String("name")].toString();
artist.artist = obj_item["name"_L1].toString();
if (artist_albums_requests_pending_.contains(artist.artist_id)) continue;
@@ -636,14 +638,14 @@ void QobuzRequest::AlbumsReceived(QNetworkReply *reply, const Artist &artist_req
Artist artist = artist_requested;
if (json_obj.contains(QLatin1String("id")) && json_obj.contains(QLatin1String("name"))) {
if (json_obj[QLatin1String("id")].isString()) {
artist.artist_id = json_obj[QLatin1String("id")].toString();
if (json_obj.contains("id"_L1) && json_obj.contains("name"_L1)) {
if (json_obj["id"_L1].isString()) {
artist.artist_id = json_obj["id"_L1].toString();
}
else {
artist.artist_id = QString::number(json_obj[QLatin1String("id")].toInt());
artist.artist_id = QString::number(json_obj["id"_L1].toInt());
}
artist.artist = json_obj[QLatin1String("name")].toString();
artist.artist = json_obj["name"_L1].toString();
}
if (artist.artist_id != artist_requested.artist_id) {
@@ -652,12 +654,12 @@ void QobuzRequest::AlbumsReceived(QNetworkReply *reply, const Artist &artist_req
return;
}
if (!json_obj.contains(QLatin1String("albums"))) {
if (!json_obj.contains("albums"_L1)) {
AlbumsFinishCheck(artist_requested);
Error(QStringLiteral("Json object is missing albums."), json_obj);
return;
}
QJsonValue value_albums = json_obj[QLatin1String("albums")];
QJsonValue value_albums = json_obj["albums"_L1];
if (!value_albums.isObject()) {
Error(QStringLiteral("Json albums is not an object."), json_obj);
AlbumsFinishCheck(artist_requested);
@@ -665,18 +667,18 @@ void QobuzRequest::AlbumsReceived(QNetworkReply *reply, const Artist &artist_req
}
QJsonObject obj_albums = value_albums.toObject();
if (!obj_albums.contains(QLatin1String("limit")) ||
!obj_albums.contains(QLatin1String("offset")) ||
!obj_albums.contains(QLatin1String("total")) ||
!obj_albums.contains(QLatin1String("items"))) {
if (!obj_albums.contains("limit"_L1) ||
!obj_albums.contains("offset"_L1) ||
!obj_albums.contains("total"_L1) ||
!obj_albums.contains("items"_L1)) {
AlbumsFinishCheck(artist_requested);
Error(QStringLiteral("Json albums object is missing values."), json_obj);
return;
}
//int limit = obj_albums["limit"].toInt();
int offset = obj_albums[QLatin1String("offset")].toInt();
int albums_total = obj_albums[QLatin1String("total")].toInt();
int offset = obj_albums["offset"_L1].toInt();
int albums_total = obj_albums["total"_L1].toInt();
if (offset != offset_requested) {
Error(QStringLiteral("Offset returned does not match offset requested! %1 != %2").arg(offset).arg(offset_requested));
@@ -709,41 +711,41 @@ void QobuzRequest::AlbumsReceived(QNetworkReply *reply, const Artist &artist_req
}
QJsonObject obj_item = value_item.toObject();
if (!obj_item.contains(QLatin1String("artist")) || !obj_item.contains(QLatin1String("title")) || !obj_item.contains(QLatin1String("id"))) {
if (!obj_item.contains("artist"_L1) || !obj_item.contains("title"_L1) || !obj_item.contains("id"_L1)) {
Error(QStringLiteral("Invalid Json reply, item missing artist, title or id."), obj_item);
continue;
}
Album album;
if (obj_item[QLatin1String("id")].isString()) {
album.album_id = obj_item[QLatin1String("id")].toString();
if (obj_item["id"_L1].isString()) {
album.album_id = obj_item["id"_L1].toString();
}
else {
album.album_id = QString::number(obj_item[QLatin1String("id")].toInt());
album.album_id = QString::number(obj_item["id"_L1].toInt());
}
album.album = obj_item[QLatin1String("title")].toString();
album.album = obj_item["title"_L1].toString();
if (album_songs_requests_pending_.contains(album.album_id)) continue;
QJsonValue value_artist = obj_item[QLatin1String("artist")];
QJsonValue value_artist = obj_item["artist"_L1];
if (!value_artist.isObject()) {
Error(QStringLiteral("Invalid Json reply, item artist is not a object."), value_artist);
continue;
}
QJsonObject obj_artist = value_artist.toObject();
if (!obj_artist.contains(QLatin1String("id")) || !obj_artist.contains(QLatin1String("name"))) {
if (!obj_artist.contains("id"_L1) || !obj_artist.contains("name"_L1)) {
Error(QStringLiteral("Invalid Json reply, item artist missing id or name."), obj_artist);
continue;
}
Artist album_artist;
if (obj_artist[QLatin1String("id")].isString()) {
album_artist.artist_id = obj_artist[QLatin1String("id")].toString();
if (obj_artist["id"_L1].isString()) {
album_artist.artist_id = obj_artist["id"_L1].toString();
}
else {
album_artist.artist_id = QString::number(obj_artist[QLatin1String("id")].toInt());
album_artist.artist_id = QString::number(obj_artist["id"_L1].toInt());
}
album_artist.artist = obj_artist[QLatin1String("name")].toString();
album_artist.artist = obj_artist["name"_L1].toString();
if (!artist_requested.artist_id.isEmpty() && album_artist.artist_id != artist_requested.artist_id) {
qLog(Debug) << "Skipping artist" << album_artist.artist << album_artist.artist_id << "does not match album artist" << artist_requested.artist_id << artist_requested.artist;
@@ -891,7 +893,7 @@ void QobuzRequest::SongsReceived(QNetworkReply *reply, const Artist &artist_requ
return;
}
if (!json_obj.contains(QLatin1String("tracks"))) {
if (!json_obj.contains("tracks"_L1)) {
Error(QStringLiteral("Json object is missing tracks."), json_obj);
SongsFinishCheck(artist_requested, album_requested, limit_requested, offset_requested);
return;
@@ -900,58 +902,58 @@ void QobuzRequest::SongsReceived(QNetworkReply *reply, const Artist &artist_requ
Artist album_artist = artist_requested;
Album album = album_requested;
if (json_obj.contains(QLatin1String("id")) && json_obj.contains(QLatin1String("title"))) {
if (json_obj[QLatin1String("id")].isString()) {
album.album_id = json_obj[QLatin1String("id")].toString();
if (json_obj.contains("id"_L1) && json_obj.contains("title"_L1)) {
if (json_obj["id"_L1].isString()) {
album.album_id = json_obj["id"_L1].toString();
}
else {
album.album_id = QString::number(json_obj[QLatin1String("id")].toInt());
album.album_id = QString::number(json_obj["id"_L1].toInt());
}
album.album = json_obj[QLatin1String("title")].toString();
album.album = json_obj["title"_L1].toString();
}
if (json_obj.contains(QLatin1String("artist"))) {
QJsonValue value_artist = json_obj[QLatin1String("artist")];
if (json_obj.contains("artist"_L1)) {
QJsonValue value_artist = json_obj["artist"_L1];
if (!value_artist.isObject()) {
Error(QStringLiteral("Invalid Json reply, album artist is not a object."), value_artist);
SongsFinishCheck(artist_requested, album_requested, limit_requested, offset_requested);
return;
}
QJsonObject obj_artist = value_artist.toObject();
if (!obj_artist.contains(QLatin1String("id")) || !obj_artist.contains(QLatin1String("name"))) {
if (!obj_artist.contains("id"_L1) || !obj_artist.contains("name"_L1)) {
Error(QStringLiteral("Invalid Json reply, album artist is missing id or name."), obj_artist);
SongsFinishCheck(artist_requested, album_requested, limit_requested, offset_requested);
return;
}
if (obj_artist[QLatin1String("id")].isString()) {
album_artist.artist_id = obj_artist[QLatin1String("id")].toString();
if (obj_artist["id"_L1].isString()) {
album_artist.artist_id = obj_artist["id"_L1].toString();
}
else {
album_artist.artist_id = QString::number(obj_artist[QLatin1String("id")].toInt());
album_artist.artist_id = QString::number(obj_artist["id"_L1].toInt());
}
album_artist.artist = obj_artist[QLatin1String("name")].toString();
album_artist.artist = obj_artist["name"_L1].toString();
}
if (json_obj.contains(QLatin1String("image"))) {
QJsonValue value_image = json_obj[QLatin1String("image")];
if (json_obj.contains("image"_L1)) {
QJsonValue value_image = json_obj["image"_L1];
if (!value_image.isObject()) {
Error(QStringLiteral("Invalid Json reply, album image is not a object."), value_image);
SongsFinishCheck(artist_requested, album_requested, limit_requested, offset_requested);
return;
}
QJsonObject obj_image = value_image.toObject();
if (!obj_image.contains(QLatin1String("large"))) {
if (!obj_image.contains("large"_L1)) {
Error(QStringLiteral("Invalid Json reply, album image is missing large."), obj_image);
SongsFinishCheck(artist_requested, album_requested, limit_requested, offset_requested);
return;
}
QString album_image = obj_image[QLatin1String("large")].toString();
QString album_image = obj_image["large"_L1].toString();
if (!album_image.isEmpty()) {
album.cover_url = QUrl(album_image);
}
}
QJsonValue value_tracks = json_obj[QLatin1String("tracks")];
QJsonValue value_tracks = json_obj["tracks"_L1];
if (!value_tracks.isObject()) {
Error(QStringLiteral("Json tracks is not an object."), json_obj);
SongsFinishCheck(artist_requested, album_requested, limit_requested, offset_requested);
@@ -959,18 +961,18 @@ void QobuzRequest::SongsReceived(QNetworkReply *reply, const Artist &artist_requ
}
QJsonObject obj_tracks = value_tracks.toObject();
if (!obj_tracks.contains(QLatin1String("limit")) ||
!obj_tracks.contains(QLatin1String("offset")) ||
!obj_tracks.contains(QLatin1String("total")) ||
!obj_tracks.contains(QLatin1String("items"))) {
if (!obj_tracks.contains("limit"_L1) ||
!obj_tracks.contains("offset"_L1) ||
!obj_tracks.contains("total"_L1) ||
!obj_tracks.contains("items"_L1)) {
SongsFinishCheck(artist_requested, album_requested, limit_requested, offset_requested);
Error(QStringLiteral("Json songs object is missing values."), json_obj);
return;
}
//int limit = obj_tracks["limit"].toInt();
int offset = obj_tracks[QLatin1String("offset")].toInt();
int songs_total = obj_tracks[QLatin1String("total")].toInt();
int offset = obj_tracks["offset"_L1].toInt();
int songs_total = obj_tracks["total"_L1].toInt();
if (offset != offset_requested) {
Error(QStringLiteral("Offset returned does not match offset requested! %1 != %2").arg(offset).arg(offset_requested));
@@ -1063,126 +1065,126 @@ void QobuzRequest::SongsFinishCheck(const Artist &artist, const Album &album, co
void QobuzRequest::ParseSong(Song &song, const QJsonObject &json_obj, const Artist &album_artist, const Album &album) {
if (
!json_obj.contains(QLatin1String("id")) ||
!json_obj.contains(QLatin1String("title")) ||
!json_obj.contains(QLatin1String("track_number")) ||
!json_obj.contains(QLatin1String("duration")) ||
!json_obj.contains(QLatin1String("copyright")) ||
!json_obj.contains(QLatin1String("streamable"))
!json_obj.contains("id"_L1) ||
!json_obj.contains("title"_L1) ||
!json_obj.contains("track_number"_L1) ||
!json_obj.contains("duration"_L1) ||
!json_obj.contains("copyright"_L1) ||
!json_obj.contains("streamable"_L1)
) {
Error(QStringLiteral("Invalid Json reply, track is missing one or more values."), json_obj);
return;
}
QString song_id;
if (json_obj[QLatin1String("id")].isString()) {
song_id = json_obj[QLatin1String("id")].toString();
if (json_obj["id"_L1].isString()) {
song_id = json_obj["id"_L1].toString();
}
else {
song_id = QString::number(json_obj[QLatin1String("id")].toInt());
song_id = QString::number(json_obj["id"_L1].toInt());
}
QString title = json_obj[QLatin1String("title")].toString();
int track = json_obj[QLatin1String("track_number")].toInt();
QString title = json_obj["title"_L1].toString();
int track = json_obj["track_number"_L1].toInt();
int disc = 0;
QString copyright = json_obj[QLatin1String("copyright")].toString();
qint64 duration = json_obj[QLatin1String("duration")].toInt() * kNsecPerSec;
QString copyright = json_obj["copyright"_L1].toString();
qint64 duration = json_obj["duration"_L1].toInt() * kNsecPerSec;
//bool streamable = json_obj["streamable"].toBool();
QString composer;
QString performer;
if (json_obj.contains(QLatin1String("media_number"))) {
disc = json_obj[QLatin1String("media_number")].toInt();
if (json_obj.contains("media_number"_L1)) {
disc = json_obj["media_number"_L1].toInt();
}
Artist song_artist = album_artist;
Album song_album = album;
if (json_obj.contains(QLatin1String("album"))) {
if (json_obj.contains("album"_L1)) {
QJsonValue value_album = json_obj[QLatin1String("album")];
QJsonValue value_album = json_obj["album"_L1];
if (!value_album.isObject()) {
Error(QStringLiteral("Invalid Json reply, album is not an object."), value_album);
return;
}
QJsonObject obj_album = value_album.toObject();
if (obj_album.contains(QLatin1String("id"))) {
if (obj_album[QLatin1String("id")].isString()) {
song_album.album_id = obj_album[QLatin1String("id")].toString();
if (obj_album.contains("id"_L1)) {
if (obj_album["id"_L1].isString()) {
song_album.album_id = obj_album["id"_L1].toString();
}
else {
song_album.album_id = QString::number(obj_album[QLatin1String("id")].toInt());
song_album.album_id = QString::number(obj_album["id"_L1].toInt());
}
}
if (obj_album.contains(QLatin1String("title"))) {
song_album.album = obj_album[QLatin1String("title")].toString();
if (obj_album.contains("title"_L1)) {
song_album.album = obj_album["title"_L1].toString();
}
if (obj_album.contains(QLatin1String("artist"))) {
QJsonValue value_artist = obj_album[QLatin1String("artist")];
if (obj_album.contains("artist"_L1)) {
QJsonValue value_artist = obj_album["artist"_L1];
if (!value_artist.isObject()) {
Error(QStringLiteral("Invalid Json reply, album artist is not a object."), value_artist);
return;
}
QJsonObject obj_artist = value_artist.toObject();
if (!obj_artist.contains(QLatin1String("id")) || !obj_artist.contains(QLatin1String("name"))) {
if (!obj_artist.contains("id"_L1) || !obj_artist.contains("name"_L1)) {
Error(QStringLiteral("Invalid Json reply, album artist is missing id or name."), obj_artist);
return;
}
if (obj_artist[QLatin1String("id")].isString()) {
song_artist.artist_id = obj_artist[QLatin1String("id")].toString();
if (obj_artist["id"_L1].isString()) {
song_artist.artist_id = obj_artist["id"_L1].toString();
}
else {
song_artist.artist_id = QString::number(obj_artist[QLatin1String("id")].toInt());
song_artist.artist_id = QString::number(obj_artist["id"_L1].toInt());
}
song_artist.artist = obj_artist[QLatin1String("name")].toString();
song_artist.artist = obj_artist["name"_L1].toString();
}
if (obj_album.contains(QLatin1String("image"))) {
QJsonValue value_image = obj_album[QLatin1String("image")];
if (obj_album.contains("image"_L1)) {
QJsonValue value_image = obj_album["image"_L1];
if (!value_image.isObject()) {
Error(QStringLiteral("Invalid Json reply, album image is not a object."), value_image);
return;
}
QJsonObject obj_image = value_image.toObject();
if (!obj_image.contains(QLatin1String("large"))) {
if (!obj_image.contains("large"_L1)) {
Error(QStringLiteral("Invalid Json reply, album image is missing large."), obj_image);
return;
}
QString album_image = obj_image[QLatin1String("large")].toString();
QString album_image = obj_image["large"_L1].toString();
if (!album_image.isEmpty()) {
song_album.cover_url.setUrl(album_image);
}
}
}
if (json_obj.contains(QLatin1String("composer"))) {
QJsonValue value_composer = json_obj[QLatin1String("composer")];
if (json_obj.contains("composer"_L1)) {
QJsonValue value_composer = json_obj["composer"_L1];
if (!value_composer.isObject()) {
Error(QStringLiteral("Invalid Json reply, track composer is not a object."), value_composer);
return;
}
QJsonObject obj_composer = value_composer.toObject();
if (!obj_composer.contains(QLatin1String("id")) || !obj_composer.contains(QLatin1String("name"))) {
if (!obj_composer.contains("id"_L1) || !obj_composer.contains("name"_L1)) {
Error(QStringLiteral("Invalid Json reply, track composer is missing id or name."), obj_composer);
return;
}
composer = obj_composer[QLatin1String("name")].toString();
composer = obj_composer["name"_L1].toString();
}
if (json_obj.contains(QLatin1String("performer"))) {
QJsonValue value_performer = json_obj[QLatin1String("performer")];
if (json_obj.contains("performer"_L1)) {
QJsonValue value_performer = json_obj["performer"_L1];
if (!value_performer.isObject()) {
Error(QStringLiteral("Invalid Json reply, track performer is not a object."), value_performer);
return;
}
QJsonObject obj_performer = value_performer.toObject();
if (!obj_performer.contains(QLatin1String("id")) || !obj_performer.contains(QLatin1String("name"))) {
if (!obj_performer.contains("id"_L1) || !obj_performer.contains("name"_L1)) {
Error(QStringLiteral("Invalid Json reply, track performer is missing id or name."), obj_performer);
return;
}
performer = obj_performer[QLatin1String("name")].toString();
performer = obj_performer["name"_L1].toString();
}
//if (!streamable) {
@@ -1345,8 +1347,8 @@ void QobuzRequest::AlbumCoverReceived(QNetworkReply *reply, const QUrl &cover_ur
}
QString mimetype = reply->header(QNetworkRequest::ContentTypeHeader).toString();
if (mimetype.contains(QLatin1Char(';'))) {
mimetype = mimetype.left(mimetype.indexOf(QLatin1Char(';')));
if (mimetype.contains(u';')) {
mimetype = mimetype.left(mimetype.indexOf(u';'));
}
if (!ImageUtils::SupportedImageMimeTypes().contains(mimetype, Qt::CaseInsensitive) && !ImageUtils::SupportedImageFormats().contains(mimetype, Qt::CaseInsensitive)) {
Error(QStringLiteral("Unsupported mimetype for image reader %1 for %2").arg(mimetype, cover_url.toString()));

View File

@@ -60,6 +60,7 @@
#include "settings/settingsdialog.h"
#include "settings/qobuzsettingspage.h"
using namespace Qt::StringLiterals;
using std::make_shared;
const Song::Source QobuzService::kSource = Song::Source::Qobuz;
@@ -330,9 +331,9 @@ void QobuzService::HandleAuthReply(QNetworkReply *reply) {
QJsonDocument json_doc = QJsonDocument::fromJson(data, &json_error);
if (json_error.error == QJsonParseError::NoError && !json_doc.isEmpty() && json_doc.isObject()) {
QJsonObject json_obj = json_doc.object();
if (!json_obj.isEmpty() && json_obj.contains(QLatin1String("status")) && json_obj.contains(QLatin1String("code")) && json_obj.contains(QLatin1String("message"))) {
int code = json_obj[QLatin1String("code")].toInt();
QString message = json_obj[QLatin1String("message")].toString();
if (!json_obj.isEmpty() && json_obj.contains("status"_L1) && json_obj.contains("code"_L1) && json_obj.contains("message"_L1)) {
int code = json_obj["code"_L1].toInt();
QString message = json_obj["message"_L1].toString();
login_errors_ << QStringLiteral("%1 (%2)").arg(message).arg(code);
}
}
@@ -376,62 +377,62 @@ void QobuzService::HandleAuthReply(QNetworkReply *reply) {
return;
}
if (!json_obj.contains(QLatin1String("user_auth_token"))) {
if (!json_obj.contains("user_auth_token"_L1)) {
LoginError(QStringLiteral("Authentication reply from server is missing user_auth_token"), json_obj);
return;
}
user_auth_token_ = json_obj[QLatin1String("user_auth_token")].toString();
user_auth_token_ = json_obj["user_auth_token"_L1].toString();
if (!json_obj.contains(QLatin1String("user"))) {
if (!json_obj.contains("user"_L1)) {
LoginError(QStringLiteral("Authentication reply from server is missing user"), json_obj);
return;
}
QJsonValue value_user = json_obj[QLatin1String("user")];
QJsonValue value_user = json_obj["user"_L1];
if (!value_user.isObject()) {
LoginError(QStringLiteral("Authentication reply user is not a object"), json_obj);
return;
}
QJsonObject obj_user = value_user.toObject();
if (!obj_user.contains(QLatin1String("id"))) {
if (!obj_user.contains("id"_L1)) {
LoginError(QStringLiteral("Authentication reply from server is missing user id"), obj_user);
return;
}
user_id_ = obj_user[QLatin1String("id")].toInt();
user_id_ = obj_user["id"_L1].toInt();
if (!obj_user.contains(QLatin1String("device"))) {
if (!obj_user.contains("device"_L1)) {
LoginError(QStringLiteral("Authentication reply from server is missing user device"), obj_user);
return;
}
QJsonValue value_device = obj_user[QLatin1String("device")];
QJsonValue value_device = obj_user["device"_L1];
if (!value_device.isObject()) {
LoginError(QStringLiteral("Authentication reply from server user device is not a object"), value_device);
return;
}
QJsonObject obj_device = value_device.toObject();
if (!obj_device.contains(QLatin1String("device_manufacturer_id"))) {
if (!obj_device.contains("device_manufacturer_id"_L1)) {
LoginError(QStringLiteral("Authentication reply from server device is missing device_manufacturer_id"), obj_device);
return;
}
device_id_ = obj_device[QLatin1String("device_manufacturer_id")].toString();
device_id_ = obj_device["device_manufacturer_id"_L1].toString();
if (!obj_user.contains(QLatin1String("credential"))) {
if (!obj_user.contains("credential"_L1)) {
LoginError(QStringLiteral("Authentication reply from server is missing user credential"), obj_user);
return;
}
QJsonValue value_credential = obj_user[QLatin1String("credential")];
QJsonValue value_credential = obj_user["credential"_L1];
if (!value_credential.isObject()) {
LoginError(QStringLiteral("Authentication reply from serve userr credential is not a object"), value_device);
return;
}
QJsonObject obj_credential = value_credential.toObject();
if (!obj_credential.contains(QLatin1String("id"))) {
if (!obj_credential.contains("id"_L1)) {
LoginError(QStringLiteral("Authentication reply user credential from server is missing user credential id"), obj_credential);
return;
}
credential_id_ = obj_credential[QLatin1String("id")].toInt();
credential_id_ = obj_credential["id"_L1].toInt();
Settings s;
s.beginGroup(QobuzSettingsPage::kSettingsGroup);

View File

@@ -43,6 +43,8 @@
#include "qobuzbaserequest.h"
#include "qobuzstreamurlrequest.h"
using namespace Qt::StringLiterals;
QobuzStreamURLRequest::QobuzStreamURLRequest(QobuzService *service, SharedPtr<NetworkAccessManager> network, const QUrl &media_url, const uint id, QObject *parent)
: QobuzBaseRequest(service, network, parent),
service_(service),
@@ -122,7 +124,7 @@ void QobuzStreamURLRequest::GetStreamURL() {
std::sort(params_to_sign.begin(), params_to_sign.end());
QString data_to_sign;
data_to_sign += QLatin1String("trackgetFileUrl");
data_to_sign += "trackgetFileUrl"_L1;
for (const Param &param : std::as_const(params_to_sign)) {
data_to_sign += param.first + param.second;
}
@@ -130,7 +132,7 @@ void QobuzStreamURLRequest::GetStreamURL() {
data_to_sign += app_secret();
QByteArray const digest = QCryptographicHash::hash(data_to_sign.toUtf8(), QCryptographicHash::Md5);
const QString signature = QString::fromLatin1(digest.toHex()).rightJustified(32, QLatin1Char('0')).toLower();
const QString signature = QString::fromLatin1(digest.toHex()).rightJustified(32, u'0').toLower();
ParamList params = params_to_sign;
params << Param(QStringLiteral("request_ts"), QString::number(timestamp));
@@ -169,27 +171,27 @@ void QobuzStreamURLRequest::StreamURLReceived() {
return;
}
if (!json_obj.contains(QLatin1String("track_id"))) {
if (!json_obj.contains("track_id"_L1)) {
Error(QStringLiteral("Invalid Json reply, stream url is missing track_id."), json_obj);
Q_EMIT StreamURLFailure(id_, media_url_, errors_.constFirst());
return;
}
int track_id = json_obj[QLatin1String("track_id")].toInt();
int track_id = json_obj["track_id"_L1].toInt();
if (track_id != song_id_) {
Error(QStringLiteral("Incorrect track ID returned."), json_obj);
Q_EMIT StreamURLFailure(id_, media_url_, errors_.constFirst());
return;
}
if (!json_obj.contains(QLatin1String("mime_type")) || !json_obj.contains(QLatin1String("url"))) {
if (!json_obj.contains("mime_type"_L1) || !json_obj.contains("url"_L1)) {
Error(QStringLiteral("Invalid Json reply, stream url is missing url or mime_type."), json_obj);
Q_EMIT StreamURLFailure(id_, media_url_, errors_.constFirst());
return;
}
QUrl url(json_obj[QLatin1String("url")].toString());
QString mimetype = json_obj[QLatin1String("mime_type")].toString();
QUrl url(json_obj["url"_L1].toString());
QString mimetype = json_obj["mime_type"_L1].toString();
Song::FileType filetype(Song::FileType::Unknown);
QMimeDatabase mimedb;
@@ -210,16 +212,16 @@ void QobuzStreamURLRequest::StreamURLReceived() {
}
qint64 duration = -1;
if (json_obj.contains(QLatin1String("duration"))) {
duration = json_obj[QLatin1String("duration")].toInt() * kNsecPerSec;
if (json_obj.contains("duration"_L1)) {
duration = json_obj["duration"_L1].toInt() * kNsecPerSec;
}
int samplerate = -1;
if (json_obj.contains(QLatin1String("sampling_rate"))) {
samplerate = static_cast<int>(json_obj[QLatin1String("sampling_rate")].toDouble()) * 1000;
if (json_obj.contains("sampling_rate"_L1)) {
samplerate = static_cast<int>(json_obj["sampling_rate"_L1].toDouble()) * 1000;
}
int bit_depth = -1;
if (json_obj.contains(QLatin1String("bit_depth"))) {
bit_depth = static_cast<int>(json_obj[QLatin1String("bit_depth")].toDouble());
if (json_obj.contains("bit_depth"_L1)) {
bit_depth = static_cast<int>(json_obj["bit_depth"_L1].toDouble());
}
Q_EMIT StreamURLSuccess(id_, media_url_, url, filetype, samplerate, bit_depth, duration);