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
------------------
Commit: d76ce98845
Author: Thilo Graf <dbt@novatux.de>
Date: 2018-05-13 (Sun, 13 May 2018)
This commit is contained in:
2018-05-13 21:33:53 +02:00
committed by vanhofen
parent 396030de47
commit b52f033076
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);
};