[Streams] Use timezone-aware time (#4694)

* [Streams] Remove timezone replacement

* [Streams] Convert naive now time to UTC

* [Streams] Format with black
This commit is contained in:
Lui 2021-01-21 07:29:54 -08:00 committed by GitHub
parent 5b21d37571
commit 8dbabe24e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,7 +4,7 @@ import logging
from dateutil.parser import parse as parse_time
from random import choice
from string import ascii_letters
from datetime import datetime, timedelta
from datetime import datetime, timedelta, timezone
import xml.etree.ElementTree as ET
from typing import ClassVar, Optional, List, Tuple
@ -138,9 +138,7 @@ class YoutubeStream(Stream):
scheduled = stream_data.get("scheduledStartTime", None)
if scheduled is not None and actual_start_time is None:
scheduled = parse_time(scheduled)
if (
scheduled.replace(tzinfo=None) - datetime.now()
).total_seconds() < -3600:
if (scheduled - datetime.now(timezone.utc)).total_seconds() < -3600:
continue
elif actual_start_time is None:
continue
@ -178,7 +176,7 @@ class YoutubeStream(Stream):
if vid_data["liveStreamingDetails"].get("scheduledStartTime", None) is not None:
if "actualStartTime" not in vid_data["liveStreamingDetails"]:
start_time = parse_time(vid_data["liveStreamingDetails"]["scheduledStartTime"])
start_in = start_time.replace(tzinfo=None) - datetime.now()
start_in = start_time - datetime.now(timezone.utc)
if start_in.total_seconds() > 0:
embed.description = _("This stream will start in {time}").format(
time=humanize_timedelta(