Storage
JSONValue
module-attribute
¶
JSONValue: TypeAlias = (
"str | int | float | bool | dict[str, JSONValue] | list[JSONValue] | None"
)
Any value that round-trips through json.dumps/json.loads, used for the
values a Storage backend reads and writes.
SQLiteStorage ¶
Bases: Storage
SQLite-backed storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
database
|
str | Path
|
Path to the sqlite database file or |
':memory:'
|
**kwargs
|
Any
|
Additional keyword arguments passed to |
{}
|
Source code in src/signalbot/storage.py
delete ¶
delete(key: str) -> None
Delete a key from SQLite storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Storage key to delete. |
required |
Raises:
| Type | Description |
|---|---|
StorageError
|
If the delete operation fails. |
Source code in src/signalbot/storage.py
exists ¶
read ¶
Read and deserialize a value from SQLite storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Storage key to read. |
required |
Returns:
| Type | Description |
|---|---|
JSONValue
|
The deserialized value stored under the key. |
Raises:
| Type | Description |
|---|---|
StorageError
|
If the key does not exist or deserialization fails. |
Source code in src/signalbot/storage.py
save ¶
Serialize and save a value to SQLite storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Storage key to write. |
required |
value
|
JSONValue
|
JSON-serializable value to store. |
required |
Raises:
| Type | Description |
|---|---|
StorageError
|
If serialization or database write fails. |
Source code in src/signalbot/storage.py
RedisStorage ¶
Bases: Storage
Redis-backed storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
host
|
str
|
Redis host address. |
required |
port
|
int
|
Redis server port. |
required |
password
|
str | None
|
Optional Redis password. |
None
|
Source code in src/signalbot/storage.py
delete ¶
delete(key: str) -> None
Delete a key from Redis storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Storage key to delete. |
required |
Raises:
| Type | Description |
|---|---|
StorageError
|
If the delete operation fails. |
Source code in src/signalbot/storage.py
exists ¶
read ¶
Read and deserialize a value from Redis storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Storage key to read. |
required |
Returns:
| Type | Description |
|---|---|
JSONValue
|
The deserialized value stored under the key. |
Raises:
| Type | Description |
|---|---|
StorageError
|
If the key does not exist or deserialization fails. |
Source code in src/signalbot/storage.py
save ¶
Serialize and save a value to Redis storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Storage key to write. |
required |
value
|
JSONValue
|
JSON-serializable value to store. |
required |
Raises:
| Type | Description |
|---|---|
StorageError
|
If serialization or Redis write fails. |
Source code in src/signalbot/storage.py
StorageError ¶
StorageError(
backend: StorageBackend,
operation: StorageOperation,
cause: Exception,
)
Bases: SignalBotError
Raised when a storage backend operation fails.