diff options
Diffstat (limited to 'bitbake')
| -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 | """ |
