neosqlite.gridfs.utils module

Shared utility functions for GridFS operations.

This module contains common functionality used across GridFS components to avoid code duplication and ensure consistent behavior.

neosqlite.gridfs.utils.serialize_metadata(metadata: dict[str, Any] | None) str | None[source]

Serialize metadata dictionary to JSON string for storage.

Parameters:

metadata – Metadata dictionary or None

Returns:

JSON string representation, or None if metadata is None

Note

Falls back to string representation if JSON serialization fails.

neosqlite.gridfs.utils.deserialize_metadata(metadata_str: str | None) dict[str, Any] | None[source]

Deserialize metadata JSON string back to dictionary.

Parameters:

metadata_str – JSON string or None

Returns:

Metadata dictionary, or None if input is None

Note

Tries JSON parsing first, then ast.literal_eval as fallback, then wraps in dict as last resort.

neosqlite.gridfs.utils.serialize_aliases(aliases: list[str] | None) str | None[source]

Serialize aliases list to JSON string.

Parameters:

aliases – List of alias strings or None

Returns:

JSON string representation, or None if aliases is None

Note

Falls back to string representation if JSON serialization fails.

neosqlite.gridfs.utils.deserialize_aliases(aliases_str: str | None) list[str] | None[source]

Deserialize aliases JSON string back to list.

Parameters:

aliases_str – JSON string or None

Returns:

List of aliases, or None if input is None

Note

Tries JSON parsing first, then wraps single value in list as fallback.

neosqlite.gridfs.utils.force_sync_if_needed(db_connection: Any, write_concern: dict[str, Any]) None[source]

Force a SQLite WAL checkpoint if write concern requires durability.

Parameters:
  • db_connection – SQLite database connection

  • write_concern – Write concern dictionary with ‘j’ and ‘w’ keys