Avoid parsing null values from comic vine

This commit is contained in:
Luis Ángel San Martín 2019-04-28 09:28:50 +02:00
parent 54a0610a06
commit 44db4397e8

View File

@ -522,19 +522,25 @@ ComicDB ComicVineDialog::parseComicInfo(ComicDB & comic, const QString & json, i
{ {
QScriptValue result = sc.property("results"); QScriptValue result = sc.property("results");
if (!result.property("name").isNull()) {
QString title = result.property("name").toString(); QString title = result.property("name").toString();
comic.info.title = title;
}
if (!result.property("issue_number").isNull()) {
QString number = result.property("issue_number").toString(); QString number = result.property("issue_number").toString();
//QString count; //get from select volume
comic.info.number = number;
}
if (!result.property("volume").property("name").isNull()) {
QString volume = result.property("volume").property("name").toString(); QString volume = result.property("volume").property("name").toString();
// QString storyArc; //story_arc
// QString arcNumber; //??
// QString arcCount; //count_of_issue_appearances -> NO
// QString genere; //no comic.info.volume = volume;
}
if (!result.property("person_credits").isNull()) {
QMap<QString,QString> authors = getAuthors(result.property("person_credits")); QMap<QString,QString> authors = getAuthors(result.property("person_credits"));
QString writer = QStringList(authors.values("writer")).join("\n"); QString writer = QStringList(authors.values("writer")).join("\n");
@ -544,41 +550,39 @@ ComicDB ComicVineDialog::parseComicInfo(ComicDB & comic, const QString & json, i
QString letterer = QStringList(authors.values("letterer")).join("\n"); QString letterer = QStringList(authors.values("letterer")).join("\n");
QString coverArtist = QStringList(authors.values("cover")).join("\n"); QString coverArtist = QStringList(authors.values("cover")).join("\n");
QString date = result.property("cover_date").toString();
//QString publisher; //get from select volume
// QString format; //no
// bool color; //no
// QString ageRating; //no
QString synopsis = result.property("description").toString().remove(QRegExp("<[^>]*>")); //description
QString characters = getCharacters(result.property("character_credits"));
if (title != "null") {
comic.info.title = title;
}
comic.info.number = number;
comic.info.count = count;
comic.info.writer = writer; comic.info.writer = writer;
comic.info.penciller = penciller; comic.info.penciller = penciller;
comic.info.inker = inker; comic.info.inker = inker;
comic.info.colorist = colorist; comic.info.colorist = colorist;
comic.info.letterer = letterer; comic.info.letterer = letterer;
comic.info.coverArtist = coverArtist; comic.info.coverArtist = coverArtist;
}
if (!result.property("cover_date").isNull()) {
QString date = result.property("cover_date").toString();
QStringList tempList = date.split("-"); QStringList tempList = date.split("-");
std::reverse(tempList.begin(),tempList.end()); std::reverse(tempList.begin(),tempList.end());
comic.info.date = tempList.join("/"); comic.info.date = tempList.join("/");
comic.info.volume = volume; }
comic.info.publisher = publisher;
if (!result.property("description").isNull()) {
QString synopsis = result.property("description").toString().remove(QRegExp("<[^>]*>")); //description
comic.info.synopsis = synopsis; comic.info.synopsis = synopsis;
}
if (!result.property("character_credits").isNull()) {
QString characters = getCharacters(result.property("character_credits"));
comic.info.characters = characters; comic.info.characters = characters;
} }
comic.info.count = count;
comic.info.publisher = publisher;
} }
}
return comic; return comic;
} }