From 979d1e2ccd4911a249f735c02252b35f95063a94 Mon Sep 17 00:00:00 2001 From: PatientLightning <84464754+PatientLightning@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:30:05 -0400 Subject: [PATCH] Update utils.py removed use of astimezone because it throws an error for times before the epoch --- jellyfin_kodi/helper/utils.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jellyfin_kodi/helper/utils.py b/jellyfin_kodi/helper/utils.py index 38ce9155..b017ae1a 100644 --- a/jellyfin_kodi/helper/utils.py +++ b/jellyfin_kodi/helper/utils.py @@ -9,6 +9,8 @@ import os import sys import re import unicodedata +import datetime +import time from uuid import uuid4 from distutils.version import LooseVersion @@ -481,7 +483,11 @@ def convert_to_local(date): try: date = parser.parse(date) if isinstance(date, string_types) else date date = date.replace(tzinfo=tz.tzutc()) - date = date.astimezone(tz.tzlocal()) + #date = date.astimezone(tz.tzlocal()) + # thanks: jfs via https://stackoverflow.com/a/3168394 + local_utc_offset = -time.timezone + # thanks: Ignacio Vazquez-Abrams via https://stackoverflow.com/a/22082178 + date = date + datetime.timedelta(seconds=local_utc_offset) # Bad metadata defaults to date 1-1-1. Catch it and don't throw errors if date.year == 1: return str(date)