From eec9158ad0f73399bd2126b33970652b26f8d733 Mon Sep 17 00:00:00 2001 From: funilrys Date: Wed, 26 Feb 2025 18:41:27 +0100 Subject: [PATCH] Better handling of 2yk35/38 issues. --- PyFunceble/dataset/sql_base.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PyFunceble/dataset/sql_base.py b/PyFunceble/dataset/sql_base.py index f9c898c1..e9de0888 100644 --- a/PyFunceble/dataset/sql_base.py +++ b/PyFunceble/dataset/sql_base.py @@ -305,9 +305,11 @@ def add(self, row) -> "SQLDBDatasetBase": if "expiration_date" not in row and "epoch" not in row: raise exception - y2k38_limit = datetime(2035, 12, 31, 0, 0) + y2k38_limit = datetime(2035, 12, 31, 0, 0, tzinfo=timezone.utc) new_date = datetime.fromtimestamp(float(row["epoch"]), timezone.utc) - new_date -= new_date - y2k38_limit + + if new_date >= y2k38_limit: + new_date = y2k38_limit row["epoch"] = new_date.timestamp() row["expiration_date"] = new_date.strftime("%d-%b-%Y")