aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Spotify.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-05-13 23:30:20 +0200
committerdec05eba <dec05eba@protonmail.com>2021-05-13 23:30:20 +0200
commitacb6ac0a04e800a79876908fd1fdb98dc7e93678 (patch)
treee8d0e97b3ac22d8ee1fc5b5a515047bf4a173014 /src/plugins/Spotify.cpp
parent4af866c610a8f6650a5d2c5045c085d9af7d7951 (diff)
Show local time for nyaa.si, soundcloud and spotify. Add sukebei
Diffstat (limited to 'src/plugins/Spotify.cpp')
-rw-r--r--src/plugins/Spotify.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/plugins/Spotify.cpp b/src/plugins/Spotify.cpp
index f56ed6c..d41446b 100644
--- a/src/plugins/Spotify.cpp
+++ b/src/plugins/Spotify.cpp
@@ -1,5 +1,6 @@
#include "../../plugins/Spotify.hpp"
#include "../../include/NetUtils.hpp"
+#include "../../include/Utils.hpp"
#include "../../include/Scale.hpp"
namespace QuickMedia {
@@ -171,6 +172,14 @@ namespace QuickMedia {
return result;
}
+ static std::string unix_time_to_local_time_str(time_t unix_time) {
+ struct tm time_tm;
+ localtime_r(&unix_time, &time_tm);
+ char time_str[128] = {0};
+ strftime(time_str, sizeof(time_str) - 1, "%Y-%m-%d %H:%M", &time_tm);
+ return time_str;
+ }
+
PluginResult SpotifyEpisodeListPage::get_page(const std::string &, int page, BodyItems &result_items) {
std::string request_url = "https://api-partner.spotify.com/pathfinder/v1/query?operationName=queryShowEpisodes&variables=";
request_url += url_param_encode("{\"uri\":\"" + url + "\",\"offset\":" + std::to_string(page * 50) + ",\"limit\":50}");
@@ -242,7 +251,7 @@ namespace QuickMedia {
if(release_data_json.isObject()) {
const Json::Value &iso_string_json = release_data_json["isoString"];
if(iso_string_json.isString())
- time += iso_string_json.asString();
+ time += unix_time_to_local_time_str(iso_utc_to_unix_time(iso_string_json.asCString()));
}
const Json::Value &duration_json = episode_json["duration"];