From acb6ac0a04e800a79876908fd1fdb98dc7e93678 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 13 May 2021 23:30:20 +0200 Subject: Show local time for nyaa.si, soundcloud and spotify. Add sukebei --- src/plugins/Spotify.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/plugins/Spotify.cpp') 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"]; -- cgit v1.2.3