google styled doc
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
"""
|
||||
Local filesystem–based credential persistence for Mail Intake.
|
||||
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
This module provides a file-backed implementation of the
|
||||
``CredentialStore`` abstraction using Python's ``pickle`` module.
|
||||
|
||||
@@ -29,13 +33,16 @@ class PickleCredentialStore(CredentialStore[T]):
|
||||
filesystem. It is a simple implementation intended primarily for
|
||||
development, testing, and single-process execution contexts.
|
||||
|
||||
This implementation:
|
||||
- Stores credentials on the local filesystem
|
||||
- Uses pickle for serialization and deserialization
|
||||
- Does not provide encryption, locking, or concurrency guarantees
|
||||
Notes:
|
||||
**Guarantees:**
|
||||
|
||||
Credential lifecycle management, validation, and refresh logic are
|
||||
explicitly out of scope for this class.
|
||||
- Stores credentials on the local filesystem
|
||||
- Uses pickle for serialization and deserialization
|
||||
- Does not provide encryption, locking, or concurrency guarantees
|
||||
|
||||
**Constraints:**
|
||||
|
||||
- Credential lifecycle management, validation, and refresh logic are explicitly out of scope for this class
|
||||
"""
|
||||
|
||||
def __init__(self, path: str):
|
||||
@@ -43,7 +50,7 @@ class PickleCredentialStore(CredentialStore[T]):
|
||||
Initialize a pickle-backed credential store.
|
||||
|
||||
Args:
|
||||
path:
|
||||
path (str):
|
||||
Filesystem path where credentials will be stored.
|
||||
The file will be created or overwritten as needed.
|
||||
"""
|
||||
@@ -53,15 +60,16 @@ class PickleCredentialStore(CredentialStore[T]):
|
||||
"""
|
||||
Load credentials from the local filesystem.
|
||||
|
||||
If the credential file does not exist or cannot be successfully
|
||||
deserialized, this method returns ``None``.
|
||||
|
||||
The store does not attempt to validate or interpret the returned
|
||||
credentials.
|
||||
|
||||
Returns:
|
||||
An instance of type ``T`` if credentials are present and
|
||||
successfully deserialized; otherwise ``None``.
|
||||
Optional[T]:
|
||||
An instance of type ``T`` if credentials are present and
|
||||
successfully deserialized; otherwise ``None``.
|
||||
|
||||
Notes:
|
||||
**Guarantees:**
|
||||
|
||||
- If the credential file does not exist or cannot be successfully deserialized, this method returns ``None``
|
||||
- The store does not attempt to validate or interpret the returned credentials
|
||||
"""
|
||||
try:
|
||||
with open(self.path, "rb") as fh:
|
||||
@@ -73,12 +81,14 @@ class PickleCredentialStore(CredentialStore[T]):
|
||||
"""
|
||||
Persist credentials to the local filesystem.
|
||||
|
||||
Any previously stored credentials at the configured path are
|
||||
overwritten.
|
||||
|
||||
Args:
|
||||
credentials:
|
||||
credentials (T):
|
||||
The credential object to persist.
|
||||
|
||||
Notes:
|
||||
**Responsibilities:**
|
||||
|
||||
- Any previously stored credentials at the configured path are overwritten
|
||||
"""
|
||||
with open(self.path, "wb") as fh:
|
||||
pickle.dump(credentials, fh)
|
||||
@@ -87,8 +97,10 @@ class PickleCredentialStore(CredentialStore[T]):
|
||||
"""
|
||||
Remove persisted credentials from the local filesystem.
|
||||
|
||||
This method deletes the credential file if it exists and should
|
||||
be treated as an idempotent operation.
|
||||
Notes:
|
||||
**Lifecycle:**
|
||||
|
||||
- This method deletes the credential file if it exists and should be treated as an idempotent operation
|
||||
"""
|
||||
import os
|
||||
|
||||
|
||||
Reference in New Issue
Block a user