diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2025-05-15 09:27:40 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-05-19 17:55:50 +0100 |
commit | 396e45480e59f7e0c5582c95c8a0d3b8c48a9fcc (patch) | |
tree | 4168fea3313edb64f3b544db84f03a06ae80b898 /bitbake/lib/hashserv/sqlite.py | |
parent | b48273775f72eb233877e15cbf92d81791daad96 (diff) | |
download | poky-master.tar.gz |
The default adapters for sqlite datetime are deprecated as of Python
3.12, so implement our own.
[YOCTO #15333]
(Bitbake rev: 38a1d715bf58acbc9cb21eed413b3542c81cf15a)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/hashserv/sqlite.py')
-rw-r--r-- | bitbake/lib/hashserv/sqlite.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/bitbake/lib/hashserv/sqlite.py b/bitbake/lib/hashserv/sqlite.py index da2e844a03..976504d7f4 100644 --- a/bitbake/lib/hashserv/sqlite.py +++ b/bitbake/lib/hashserv/sqlite.py | |||
@@ -4,6 +4,7 @@ | |||
4 | # | 4 | # |
5 | # SPDX-License-Identifier: GPL-2.0-only | 5 | # SPDX-License-Identifier: GPL-2.0-only |
6 | # | 6 | # |
7 | from datetime import datetime, timezone | ||
7 | import sqlite3 | 8 | import sqlite3 |
8 | import logging | 9 | import logging |
9 | from contextlib import closing | 10 | from contextlib import closing |
@@ -53,6 +54,22 @@ CONFIG_TABLE_DEFINITION = ( | |||
53 | CONFIG_TABLE_COLUMNS = tuple(name for name, _, _ in CONFIG_TABLE_DEFINITION) | 54 | CONFIG_TABLE_COLUMNS = tuple(name for name, _, _ in CONFIG_TABLE_DEFINITION) |
54 | 55 | ||
55 | 56 | ||
57 | def adapt_datetime_iso(val): | ||
58 | """Adapt datetime.datetime to UTC ISO 8601 date.""" | ||
59 | return val.astimezone(timezone.utc).isoformat() | ||
60 | |||
61 | |||
62 | sqlite3.register_adapter(datetime, adapt_datetime_iso) | ||
63 | |||
64 | |||
65 | def convert_datetime(val): | ||
66 | """Convert ISO 8601 datetime to datetime.datetime object.""" | ||
67 | return datetime.fromisoformat(val.decode()) | ||
68 | |||
69 | |||
70 | sqlite3.register_converter("DATETIME", convert_datetime) | ||
71 | |||
72 | |||
56 | def _make_table(cursor, name, definition): | 73 | def _make_table(cursor, name, definition): |
57 | cursor.execute( | 74 | cursor.execute( |
58 | """ | 75 | """ |