From 7788c2573c779866a7f8fe930855a0686b6206f3 Mon Sep 17 00:00:00 2001 From: Vyolex Date: Thu, 15 Apr 2021 00:09:55 +0200 Subject: [PATCH] Fix rate limit issues for playlist downloading (#326) * Fix inconsistent use of UTC and local time, changed display to local time. --- ModAssistant/Classes/External Interfaces/BeatSaver.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ModAssistant/Classes/External Interfaces/BeatSaver.cs b/ModAssistant/Classes/External Interfaces/BeatSaver.cs index 932a695..54dfc81 100644 --- a/ModAssistant/Classes/External Interfaces/BeatSaver.cs +++ b/ModAssistant/Classes/External Interfaces/BeatSaver.cs @@ -89,7 +89,7 @@ namespace ModAssistant.API if ((int)resp.StatusCode == 429) { - Utils.SetMessage($"{string.Format((string)Application.Current.FindResource("OneClick:RatelimitHit"), response.ratelimit.ResetTime)}"); + Utils.SetMessage($"{string.Format((string)Application.Current.FindResource("OneClick:RatelimitHit"), response.ratelimit.ResetTime.ToLocalTime())}"); await response.ratelimit.Wait(); return await GetResponse(url, showNotification, retries - 1); } @@ -240,7 +240,7 @@ namespace ModAssistant.API if ((int)resp.StatusCode == 429) { var ratelimit = GetRatelimit(resp.Headers); - Utils.SetMessage($"{string.Format((string)Application.Current.FindResource("OneClick:RatelimitHit"), ratelimit.ResetTime)}"); + Utils.SetMessage($"{string.Format((string)Application.Current.FindResource("OneClick:RatelimitHit"), ratelimit.ResetTime.ToLocalTime())}"); await ratelimit.Wait(); await Download(url, output, retries - 1); @@ -276,7 +276,7 @@ namespace ModAssistant.API public DateTime ResetTime { get; set; } public async Task Wait() { - await Task.Delay(new TimeSpan(ResetTime.Ticks - DateTime.Now.Ticks)); + await Task.Delay(new TimeSpan(Math.Max(ResetTime.Ticks - DateTime.UtcNow.Ticks, 0))); } }