ddp_utils.browser.facade.storage¶
import ddp_utils.browser.facade.storage
Backend-neutral Web Storage services.
- class ddp_utils.browser.facade.storage.BrowserStorage(browser: Browser)¶
Bases:
objectExpose local and session Web Storage areas.
Parameters
Name
Type
Description
browser
Owning browser facade.
Examples
Use both storage scopes explicitly:
browser.storage.local.set("persistent", "yes") browser.storage.session.set("temporary", "yes")
Create both session-bound storage areas.
Parameters
Name
Type
Description
browser
Owning browser facade.
Examples
Browser creates this aggregate once:
storage = BrowserStorage(browser)
- get(key: str, default: Any = None, *, area: str = 'local') Any¶
Return one Web Storage value.
Parameters
Name
Type
Description
key
str
Storage key.
default
Any
Value returned when absent.
area
str
localorsession.Returns
Type
Description
Any
Stored value or default.
Examples
cursor = browser.storage.get("cursor").
- set(key: str, value: Any, *, area: str = 'local') None¶
Set one Web Storage value.
Parameters
Name
Type
Description
key
str
Storage key.
value
Any
Value converted to text.
area
str
localorsession.Examples
browser.storage.set("cursor", 5).
- delete(key: str, *, area: str = 'local') bool¶
Delete one Web Storage key.
Parameters
Name
Type
Description
key
str
Storage key.
area
str
localorsession.Returns
Type
Description
bool
Truewhen the key existed.Examples
browser.storage.delete("cursor").
- clear(*, area: str = 'local', origin: str | None = None) None¶
Clear one storage area for the active origin.
Parameters
Name
Type
Description
area
str
localorsession.origin
str | None
Optional active-origin assertion.
Raises
Exception
Description
ValueError
origindiffers from the active page origin.Examples
browser.storage.clear(area="session").
- items(*, area: str = 'local') dict[str, Any]¶
Return all values in one storage area.
Parameters
Name
Type
Description
area
str
localorsession.Returns
Type
Description
dict[str, Any]
Key/value mapping.
Examples
state = browser.storage.items().
- snapshot(*, origins: Any = None) StorageSnapshot¶
Capture Web Storage for the active origin.
Parameters
Name
Type
Description
origins
Any
Optional origin or collection; every value must equal the active origin because synchronous Web Storage is origin-bound.
Returns
Type
Description
Portable storage snapshot.
Raises
Exception
Description
ValueError
If an origin other than the active one is requested.
Examples
snapshot = browser.storage.snapshot().
- restore(snapshot: StorageSnapshot, *, clear: bool = False) None¶
Restore storage for the active origin.
Parameters
Name
Type
Description
snapshot
Portable storage snapshot.
clear
bool
Clear both areas before restoring.
Raises
Exception
Description
ValueError
The snapshot lacks the active origin.
Examples
browser.storage.restore(snapshot, clear=True).
- save(path: str | Path, *, origins: Any = None) Path¶
Persist a storage snapshot as UTF-8 JSON.
Parameters
Name
Type
Description
path
str | Path
Destination file.
origins
Any
Optional active-origin assertion.
Returns
Type
Description
Path
Absolute destination path.
Examples
browser.storage.save("storage.json").
- load(path: str | Path, *, clear: bool = False) None¶
Load and restore a JSON storage snapshot.
Parameters
Name
Type
Description
path
str | Path
Source file.
clear
bool
Clear current values first.
Examples
browser.storage.load("storage.json", clear=True).
- class ddp_utils.browser.facade.storage.BrowserStorageArea(browser: Browser, name: str)¶
Bases:
objectOperate on one localStorage or sessionStorage area.
Parameters
Name
Type
Description
browser
Owning browser facade.
name
str
localStorageorsessionStorage.Examples
Store one local value:
browser.storage.local.set("court", "Fulton")
Bind one validated storage area.
Parameters
Name
Type
Description
browser
Owning browser facade.
name
str
JavaScript storage object name.
Raises
Exception
Description
ValueError
The area name is unsupported.
Examples
Create the session storage service:
area = BrowserStorageArea(browser, "sessionStorage")
- get(key: str, default: Any = None) Any¶
Return a stored string or a caller-provided default.
Parameters
Name
Type
Description
key
str
Storage key.
default
Any
Value returned when the key is absent.
Returns
Type
Description
Any
Stored string or
default.Raises
Exception
Description
Storage is unavailable.
Examples
Read an optional cursor:
cursor = browser.storage.session.get("cursor")
- set(key: str, value: Any) None¶
Store one value after converting it to text.
Parameters
Name
Type
Description
key
str
Storage key.
value
Any
Value converted to text.
Raises
Exception
Description
Storage is unavailable.
Examples
Store a project checkpoint:
browser.storage.local.set("page", 5)
- update(values: Mapping[str, Any]) None¶
Store multiple values in one browser-side operation.
Parameters
Name
Type
Description
values
Mapping[str, Any]
Key/value mapping converted to strings.
Raises
Exception
Description
Storage is unavailable.
Examples
Store related project state atomically in one script call:
browser.storage.local.update({"page": 5, "row": 11})
- remove(key: str) None¶
Delete one storage key.
Parameters
Name
Type
Description
key
str
Storage key.
Raises
Exception
Description
Storage is unavailable.
Examples
Remove an obsolete cursor:
browser.storage.session.remove("cursor")
- clear() None¶
Remove every value from this storage area.
Raises
Exception
Description
Storage is unavailable.
Examples
Reset local application state:
browser.storage.local.clear()
- all() dict[str, str]¶
Return a complete storage snapshot.
Returns
Type
Description
dict[str, str]
String key/value mapping.
Raises
Exception
Description
Storage is unavailable.
Examples
Preserve state for diagnostics:
snapshot = browser.storage.local.all()
- class ddp_utils.browser.facade.storage.StorageSnapshot(origins: dict[str, dict[str, dict[str, Any]]])¶
Bases:
objectStore Web Storage values grouped by origin and area.
Parameters
Name
Type
Description
origins
dict[str, dict[str, dict[str, Any]]]
origin -> {local, session}mappings.Examples
snapshot = browser.storage.snapshot().