From 10957305be998999e3c95c11863b5709d42b7ae3 Mon Sep 17 00:00:00 2001 From: fry69 <142489379+fry69@users.noreply.github.com> Date: Fri, 10 Oct 2025 16:03:01 +0200 Subject: [PATCH 1/3] test: fix Python 3.14 datetime deprecation --- sqlite_utils/cli.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sqlite_utils/cli.py b/sqlite_utils/cli.py index 6b7ebd9..871cb60 100644 --- a/sqlite_utils/cli.py +++ b/sqlite_utils/cli.py @@ -1,7 +1,7 @@ import base64 import click from click_default_group import DefaultGroup # type: ignore -from datetime import datetime +from datetime import datetime, timezone import hashlib import pathlib from runpy import run_module @@ -3203,8 +3203,8 @@ FILE_COLUMNS = { "ctime": lambda p: p.stat().st_ctime, "mtime_int": lambda p: int(p.stat().st_mtime), "ctime_int": lambda p: int(p.stat().st_ctime), - "mtime_iso": lambda p: datetime.utcfromtimestamp(p.stat().st_mtime).isoformat(), - "ctime_iso": lambda p: datetime.utcfromtimestamp(p.stat().st_ctime).isoformat(), + "mtime_iso": lambda p: datetime.fromtimestamp(p.stat().st_mtime, timezone.utc).replace(tzinfo=None).isoformat(), + "ctime_iso": lambda p: datetime.fromtimestamp(p.stat().st_ctime, timezone.utc).replace(tzinfo=None).isoformat(), "size": lambda p: p.stat().st_size, "stem": lambda p: p.stem, "suffix": lambda p: p.suffix, From 42d23f5954ead0f1f8053ae1c325f69554078be9 Mon Sep 17 00:00:00 2001 From: fry69 <142489379+fry69@users.noreply.github.com> Date: Fri, 10 Oct 2025 16:28:12 +0200 Subject: [PATCH 2/3] test: suppress PytestUnraisableExceptionWarning in dateparse_errors --- tests/test_recipes.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_recipes.py b/tests/test_recipes.py index eca3987..ff04225 100644 --- a/tests/test_recipes.py +++ b/tests/test_recipes.py @@ -64,6 +64,7 @@ def test_dayfirst_yearfirst(fresh_db, recipe, kwargs, expected): @pytest.mark.parametrize("fn", ("parsedate", "parsedatetime")) @pytest.mark.parametrize("errors", (None, recipes.SET_NULL, recipes.IGNORE)) +@pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning") def test_dateparse_errors(fresh_db, fn, errors): fresh_db["example"].insert_all( [ From 076c1a0aa2525c743085f90b105643add452a018 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sun, 23 Nov 2025 11:59:19 -0800 Subject: [PATCH 3/3] Ran black --- sqlite_utils/cli.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sqlite_utils/cli.py b/sqlite_utils/cli.py index 871cb60..8cb3b4f 100644 --- a/sqlite_utils/cli.py +++ b/sqlite_utils/cli.py @@ -3203,8 +3203,12 @@ FILE_COLUMNS = { "ctime": lambda p: p.stat().st_ctime, "mtime_int": lambda p: int(p.stat().st_mtime), "ctime_int": lambda p: int(p.stat().st_ctime), - "mtime_iso": lambda p: datetime.fromtimestamp(p.stat().st_mtime, timezone.utc).replace(tzinfo=None).isoformat(), - "ctime_iso": lambda p: datetime.fromtimestamp(p.stat().st_ctime, timezone.utc).replace(tzinfo=None).isoformat(), + "mtime_iso": lambda p: datetime.fromtimestamp(p.stat().st_mtime, timezone.utc) + .replace(tzinfo=None) + .isoformat(), + "ctime_iso": lambda p: datetime.fromtimestamp(p.stat().st_ctime, timezone.utc) + .replace(tzinfo=None) + .isoformat(), "size": lambda p: p.stat().st_size, "stem": lambda p: p.stem, "suffix": lambda p: p.suffix,