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 | |
| parent | b48273775f72eb233877e15cbf92d81791daad96 (diff) | |
| download | poky-396e45480e59f7e0c5582c95c8a0d3b8c48a9fcc.tar.gz | |
bitbake: hashserv: Fix deprecation warning about sqlite adapter
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')
| -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 | """ |
