imdb: Fix an issue on changing of imdb key during runtime.

Global instance allows to set the api key from settings on first
created instance of the imdb object only,
so changes on settings had no effect during runtime and
restart of neutrinon was required to apply ne keys.
This should fix this.


Origin commit data
------------------
Branch: ni/coolstream
Commit: d76ce98845
Author: Thilo Graf <dbt@novatux.de>
Date: 2018-05-13 (Sun, 13 May 2018)



------------------
This commit was generated by Migit
This commit is contained in:
2018-05-13 21:33:53 +02:00
committed by vanhofen
parent 58c5e5668e
commit 63f79bc2b7
2 changed files with 11 additions and 4 deletions

View File

@@ -47,8 +47,6 @@ CIMDB::CIMDB()
search_error = "IMDb: Google download failed";
imdb_url = "http://www.omdbapi.com/?plot=full&r=json&i=";
imdb_outfile = "/tmp/imdb.json";
omdb_apikey = "&apikey=";
omdb_apikey += g_settings.omdb_api_key;
posterfile = "/tmp/imdb.jpg";
acc = 0;
@@ -67,6 +65,13 @@ CIMDB* CIMDB::getInstance()
return imdb;
}
inline std::string CIMDB::getApiKey()
{
std::string ret = "&apikey=";
ret += g_settings.omdb_api_key;
return ret;
}
std::string CIMDB::utf82url(std::string s)
{
std::stringstream ss;
@@ -310,7 +315,7 @@ int CIMDB::getIMDb(const std::string& epgTitle)
if(((imdb_id.find(search_error)) != std::string::npos))
return ret;
std::string url = imdb_url + imdb_id + omdb_apikey;
std::string url = imdb_url + imdb_id + getApiKey();
if (httpTool.downloadFile(url, imdb_outfile.c_str()))
{

View File

@@ -57,13 +57,15 @@ class CIMDB
private:
int acc;
std::string imdb_url;
std::string omdb_apikey;
std::string googleIMDb(std::string s);
std::string utf82url(std::string s);
std::string parseString(std::string search1, std::string search2, std::string str);
std::string parseFile(std::string search1, std::string search2, const char* file, std::string firstline="", int line_offset=0);
std::map<std::string, std::string> m;
std::string getApiKey();
void initMap(std::map<std::string, std::string>& my);
};