MCPcopy Create free account
hub / github.com/KikoPlayProject/KikoPlay / fromMap

Method fromMap

MediaLibrary/animeinfo.cpp:333–375  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

331}
332
333Anime *Anime::fromMap(const QVariantMap &aobj)
334{
335 const QString name = aobj.value("name").toString(),
336 airdate=aobj.value("airDate").toString();
337 if (name.isEmpty() || airdate.isEmpty()) return nullptr;
338 Anime *anime = new Anime;
339 anime->_name = name;
340 anime->_desc = aobj.value("desc").toString();
341 anime->_url = aobj.value("url").toString();
342 anime->_coverURL = aobj.value("coverUrl").toString();
343 anime->_scriptId = aobj.value("scriptId").toString();
344 anime->_scriptData = aobj.value("data").toString();
345 anime->_airDate = airdate;
346 anime->_epCount = aobj.value("epCount", 0).toInt();
347 if (aobj.contains("staff"))
348 {
349 QString staffstr = aobj.value("staff").toString();
350 auto strs = staffstr.split(';', Qt::SkipEmptyParts);
351 for (const auto &s : qAsConst(strs))
352 {
353 int pos = s.indexOf(':');
354 anime->staff.append({s.mid(0, pos), s.mid(pos+1)});
355 }
356 }
357 if (aobj.contains("crt") && aobj.value("crt").type() == QVariant::List)
358 {
359 auto crts = aobj.value("crt").toList();
360 for (auto &c : crts)
361 {
362 if (c.type()!=QVariant::Map) continue;
363 auto cobj = c.toMap();
364 QString cname = cobj.value("name").toString();
365 if(cname.isEmpty()) continue;
366 Character crt;
367 crt.name = cname;
368 crt.actor = cobj.value("actor").toString();
369 crt.link = cobj.value("link").toString();
370 crt.imgURL = cobj.value("imgurl").toString();
371 anime->characters.append(crt);
372 }
373 }
374 return anime;
375}
376
377Anime *AnimeLite::toAnime() const
378{

Callers

nothing calls this directly

Calls 8

valueMethod · 0.80
splitMethod · 0.80
toStringMethod · 0.45
isEmptyMethod · 0.45
containsMethod · 0.45
appendMethod · 0.45
typeMethod · 0.45
toMapMethod · 0.45

Tested by

no test coverage detected