diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp index 48ffaee8b..dc12721eb 100644 --- a/src/gui/epgview.cpp +++ b/src/gui/epgview.cpp @@ -1687,21 +1687,7 @@ int CEpgData::showIMDb() textCount = epgText.size(); //rating - imdb_rating = imdb->getIMDbElement("imdbRating"); - - std::string value = imdb_rating; - if (imdb_rating == "N/A") - { - value = "0"; - imdb_rating = g_Locale->getText(LOCALE_IMDB_DATA_RATING_FAILED); - } - else - imdb_rating += "/10"; - - size_t pos = value.find_first_of(",."); - if (pos != std::string::npos) - value.replace(pos, 1, ""); // change 8,1 or 8.1 to 81 - imdb_stars = atoi(value); + imdb_stars = imdb->getStars(); showText(0, sy + toph, imdb->hasPoster()); return 0; diff --git a/src/gui/mdb-imdb.cpp b/src/gui/mdb-imdb.cpp index 3cc4421dd..ebda175a2 100644 --- a/src/gui/mdb-imdb.cpp +++ b/src/gui/mdb-imdb.cpp @@ -455,6 +455,19 @@ std::string CIMDB::getMovieText() return movietext; } +int CIMDB::getStars() +{ + std::string imdbRating = ""; + + if (checkElement("imdbRating")) + imdbRating = getIMDbElement("imdbRating"); + + if (imdbRating.empty() || imdbRating == "N/A") + return 0; + + return (int)(atof(imdbRating.c_str()) * 10); +} + std::string CIMDB::getFilename(CZapitChannel *channel, uint64_t id) { char fname[512]; // UTF-8 diff --git a/src/gui/mdb-imdb.h b/src/gui/mdb-imdb.h index 4ca32f53d..6db940d79 100644 --- a/src/gui/mdb-imdb.h +++ b/src/gui/mdb-imdb.h @@ -65,6 +65,7 @@ class CIMDB std::string getPoster() { return posterfile; } bool hasPoster() { return (access(posterfile.c_str(), F_OK) == 0); } + int getStars(); bool checkElement(std::string element); //FIXME: what if m[element] doesn't exist?